为了账号安全,请及时绑定邮箱和手机立即绑定

Android Studio如何打包来自多个库项目的单个AAR?

Android Studio如何打包来自多个库项目的单个AAR?

白板的微信 2019-11-26 11:08:49
我正在构建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')}
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

没有组合库的机制。这有点复杂,因为您可能想控制要合并的依赖项(例如,您可能不想在其中包含support-v4)。另外,您还需要合并资源和Android清单。

目前,没有办法轻松地破解某些东西,除非您确定两个res文件夹之间的资源没有冲突(例如,一个库中可以有strings_a.xml,而另一个库中可以有strings_b.xml)。这样,您可以通过将两个res文件夹都复制到同一位置(而不是在android res级别进行合并)来“合并”这两个res文件夹。

对于清单来说,它会更复杂,但是可以通过一些自定义代码来实现。

为此,提供内置机制的优先级很低,因此不要期望很快。


查看完整回答
反对 回复 2019-11-26
  • 1 回答
  • 0 关注
  • 572 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信