我查看了Android开发者here中的一般信息以及Stack Overflow here1,here2,here3和here4中的先前问题。
我想创建一个新的"实用程序库"我可以从其他项目中使用,但有一些我不明白的东西。这就是我的所作所为:
首先,我在Android Studio 2.2(OS X 10.11)中启动新项目:
Application name: Test
Package name: com.example.tomihasa.test
Minimum SDK: API 15: Android 4.0.3
Activity: Empty Activity
( ) Backwards Compatibility (AppCompat)
其次,我开始一个新的库:文件,新建,新模块,Android库
Application/Library name: MyLibrary
Package name: com.example.tomihasa.mylibrary
Minimum SDK: API 15: Android 4.0.3
我现在有目录:
/Users/tomihasa/AndroidStudioProjects/Test
/Users/tomihasa/AndroidStudioProjects/Test/mylibrary
为什么mylibrary在Test中?如果我想在其他地方使用它,它应该在其他地方吗?我该怎么办呢?
第三,在settings.gradle中我有:
include ':app', ':mylibrary'
第四,我建立了MyLibrary:
Build, Make Module 'mylibrary'.
我找不到here中提到的任何.JAR或.AAR包。
我错过了什么?
答案 0 :(得分:0)
您正在module
项目中创建Test
。您的所有模块都将包含在此处。模块本身应该有自己的构建脚本和目录,如果它没有其他模块的任何依赖项,则可以独立于项目的其余部分使用。
如果需要,您仍然可以将此模块用作其他项目中的库。每次构建时,Android Studio都会创建aar
个文件(调试和/或发布)并将其放在Test/myLibrary/build/outputs/aar/
文件夹中。它们的名称应分别为{module-name}-debug.aar
和{module-name}-release.aar
。您还可以将aar
上传到本地maven存储库,或直接在其他项目中使用aar
。如果没有显示,那么您可能需要转到Build->Clean Project
在Android Studio中执行干净的项目。
如果要创建独立库,则需要创建单独的项目。然后,您必须使用上述方法之一将构建的aar
导入到其他项目中。
编辑:
要安装到本地maven存储库,首先需要在构建脚本中包含mavenLocal()
repo。
然后在您图书馆的build.gradle
文件中,您需要应用maven
插件:
apply plugin: 'com.android.library'
apply plugin: 'maven'
android {
...
task installArchives(type: Upload) {
description 'This task will upload the build to mavenLocal()'
repositories.mavenInstaller {
pom.version = '0.0.1'
pom.artifaceId = 'myLibrary'
pom.groupId = 'com.example.tomihasa'
}
}
}
在gradle控制台中,输入./gradlew build installArchives
进行构建和上传。
然后,您的项目可以通过将mavenLocal()
包含在其构建脚本中并执行以下操作来安装它:
dependencies {
compile 'com.example.tomihasa:myLibrary:0.0.1'
}