Android Studio中2.2
创建库和AAR我看着一般信息在Android开发者here和以前的问题在堆栈溢出here1,here2,here3和here4。Android Studio中2.2
我想创建一个新的“实用程序库”,我可以使用其他项目,但有一些我不明白。这是我做的:
首先,我在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?如果我想在其他地方使用它,它应该在别的地方吗?我该如何移动它?
三,settings.gradle我:
include ':app', ':mylibrary'
第四,我建立在MyLibrary:
Build, Make Module 'mylibrary'.
在here提到我找不到任何.JAR或.AAR包。
我错过了什么?
您正在创建一个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
导入到其他项目中。
编辑:
要安装到本地仓库,首先你需要在你的构建脚本mavenLocal()
回购。
然后在你的图书馆的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'
}
我所做的自动生成库的build.gradle提到jcenter。我可以在没有任何回购网站的地方使用本地图书馆吗?自动生成的.aar文件被命名为mockable-android-25.jar。这是正常的吗? – tomihasa
@tomihasa:那不是你的图书馆。这是一个包含所有Android方法的存根.jar,因此您的项目将在您的计算机上进行编译。在你的库的'build.gradle'文件中,你需要在顶部应用插件:'com.android.library'。 – DeeV
对我来说它说的是jcenter()而不是maven。我还没有研究过回购协议,所以我可以在没有JCenter或Maven的情况下做所有事情,直到我准备好学习回购技术? – tomihasa