首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android如何从多个库项目中打包单个AAR?

Android如何从多个库项目中打包单个AAR?
EN

Stack Overflow用户
提问于 2013-12-20 09:43:13
回答 4查看 21.7K关注 0票数 69

我正在构建android库项目,它依赖于另一个内部库项目。

我想知道是否有一种方法可以打包单个AAR库,其中已经包含了内部库。我只想向我的应用程序开发人员共享一个AAR库包。

这就是我的build.gradle文件当前的样子,但目前它们会生成单独的AAR文件,这两个文件都需要包含在应用程序的build.gradle中。由于应用程序正在由另一家公司构建,我们需要与他们共享最终的AAR文件,而不是完整的库项目。

- internalLib

代码语言:javascript
复制
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

代码语言:javascript
复制
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')
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-21 03:41:03

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

此时,除非您确信资源在两个res文件夹之间没有冲突(例如,可以在一个lib中使用strings_a.xml,而在另一个库中可以使用strings_b.xml ),否则就无法轻松地破解某些内容。这样,您就可以将两个res文件夹“合并”,将它们复制到相同的位置(而不是在android级别进行合并)。

对于报表来说,它会更复杂,但是可以使用一些自定义代码。

为此提供一个内置的机制在我们的优先级上是非常低的,所以不要期待它在短期内。

票数 41
EN

Stack Overflow用户

发布于 2020-08-12 09:00:14

为了便于您将每个库分别上传到maven上,并在父库模块中使用它的实现,直到主库模块。只有在maven上发布主库时,才会包含所有的子依赖项。

票数 1
EN

Stack Overflow用户

发布于 2021-02-16 18:53:27

到目前为止,我们只有一个选项,在模块中添加aar作为api依赖项。为此,我们必须生成aar文件并将其发布到Maven,并将其由另一个模块访问并在app中使用。

https://developer.android.com/studio/projects/android-library

如前所述,android开发人员文档。

包含源代码的库模块被复制到您的项目中,因此您可以实际编辑库代码。如果您想维护库代码的单个版本,那么这可能不是您想要的,您应该像上面所描述的那样添加编译后的AAR文件。

如果我们还能做些什么,请在命令部分草草记下,让我们知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20700581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档