【问题标题】:Compiling one .aar library file from multiple modules从多个模块编译一个 .aar 库文件
【发布时间】:2017-01-30 17:19:43
【问题描述】:

大家好,我有一个由多个模块组成的库项目:

  • 模块 1
  • 模块 2
  • 模块 3
  • 模块 4

我想将所有四个模块导出为一个 .aar 库文件,因此我正在考虑为每个模块生成 .aar 文件并将其包含到其他 .aar 文件中,我不确定这是否可行这个很好的做法,所以我想听听你的意见?从多个模块编译一个 .aar 文件的最佳方法是什么?

stack=java.lang.NoClassDefFoundError: 解析失败: Ldagger/internal/Preconditions .... 引起: java.lang.ClassNotFoundException:找不到类 路径上的“dagger.internal.Preconditions”:DexPathList[[...

似乎依赖项没有包含在 .aar 文件中。

【问题讨论】:

  • 你可以创建一个新模块(让我们将其命名为 all-lib),它使用所有这些模块作为其 gradle 中的依赖项,然后导出该模块(all-lib)

标签: android gradle android-library


【解决方案1】:

“标准”的做法是在编译过程中直接使用将生成 1 aar 的模块。

假设module1 是库的主要部分,您将在build.gradle 上看到以下内容

apply plugin: 'com.android.library' // it's a library, generates aar

dependencies {
    // the other modules are dependencies on this one
    compile project(':module2')
    compile project(':module3')
    compile project(':module4')
}

【讨论】:

  • 已修复,会产生aar而不是jar
  • 好吧,我会试试看,我会接受你的回答。谢谢你,祝你有美好的一天。
  • @MoshErsan ops,我的错字真糟糕。谢谢。
  • 是的,但我认为这不包括来自其他模块的 Xml 资源,仅来自中心一个。
猜你喜欢
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
相关资源
最近更新 更多