我正在构建android库项目,该项目依赖于另一个内部库项目。
我想知道是否有一种方法可以打包单个AAR库,该库中已经包含内部库。我只想与我的应用程序开发人员共享1个AAR库软件包。
这是我的build.gradle文件当前的外观,但是当前它们生成单独的AAR文件,并且都需要包含在Application的build.gradle中。由于另一家公司正在构建应用程序,因此我们需要与他们共享最终的AAR文件,而不是共享完整的库项目。
----- internalLib -------- >>>>>>>>>>
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion '18.1.1'
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}
----- externalLib --------
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion '18.1.1'
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
compile project(':internalLib')
}
最佳答案
没有组合库的机制。这有点复杂,因为您可能想控制要合并的依赖项(例如,您可能不想在其中包含support-v4)。另外,您还需要合并资源和Android list 。
目前,没有办法轻松破解某些东西,除非您确定两个res文件夹之间的资源没有冲突(例如,一个库中可以有strings_a.xml,而另一个库中可以有strings_b.xml)。这样,您可以通过将两个res文件夹都复制到同一位置(而不是在android res级别进行合并)来“合并”这两个res文件夹。
对于 list 来说,它会更复杂,但是可以通过一些自定义代码来实现。
为此,提供内置机制的优先级非常低,因此不要期待很快。
关于android - Android Studio如何打包来自多个库项目的单个AAR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226550/