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

我正在构建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')

}


白板的微信
浏览 573回答 1
1回答

翻阅古今

没有组合库的机制。这有点复杂,因为您可能想控制要合并的依赖项(例如,您可能不想在其中包含support-v4)。另外,您还需要合并资源和Android清单。目前,没有办法轻松地破解某些东西,除非您确定两个res文件夹之间的资源没有冲突(例如,一个库中可以有strings_a.xml,而另一个库中可以有strings_b.xml)。这样,您可以通过将两个res文件夹都复制到同一位置(而不是在android res级别进行合并)来“合并”这两个res文件夹。对于清单来说,它会更复杂,但是可以通过一些自定义代码来实现。为此,提供内置机制的优先级很低,因此不要期望很快。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android