在Android Studio 2.2中创建库和AAR

时间:2016-11-03 21:08:31

标签: android android-studio-2.2

我查看了Android开发者here中的一般信息以及Stack Overflow here1here2here3here4中的先前问题。

我想创建一个新的"实用程序库"我可以从其他项目中使用,但有一些我不明白的东西。这就是我的所作所为:

首先,我在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包。

我错过了什么?

1 个答案:

答案 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'
}