从多个模块编译一个 .aar 库文件
Compiling one .aar library file from multiple modules
大家好,我有一个由多个模块组成的库项目:
- 模块 1
- 模块 2
- 模块 3
- 模块 4
我想将所有四个模块导出为一个 .aar 库文件,所以我正在考虑为每个模块生成 .aar 文件并将其包含到其他 .aar 文件中我不确定这是否可行或者这是很好的做法,所以我想听听您的意见?从多个模块编译一个 .aar 文件的最佳方法是什么?
- 编辑:
我设法找到解决方案 https://github.com/adwiv/android-fat-aar 并将所有模块放在一个 .aar 文件中。但是因为我使用的是匕首,所以出现以下错误:
stack=java.lang.NoClassDefFoundError: Failed resolution of:
Ldagger/internal/Preconditions .... Caused by:
java.lang.ClassNotFoundException: Didn't find class
"dagger.internal.Preconditions" on path: DexPathList[[...
似乎依赖项没有包含到 .aar 文件中。
"standard"这样做的方法是直接使用编译过程中的模块来生成 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')
}
大家好,我有一个由多个模块组成的库项目:
- 模块 1
- 模块 2
- 模块 3
- 模块 4
我想将所有四个模块导出为一个 .aar 库文件,所以我正在考虑为每个模块生成 .aar 文件并将其包含到其他 .aar 文件中我不确定这是否可行或者这是很好的做法,所以我想听听您的意见?从多个模块编译一个 .aar 文件的最佳方法是什么?
- 编辑: 我设法找到解决方案 https://github.com/adwiv/android-fat-aar 并将所有模块放在一个 .aar 文件中。但是因为我使用的是匕首,所以出现以下错误:
stack=java.lang.NoClassDefFoundError: Failed resolution of: Ldagger/internal/Preconditions .... Caused by: java.lang.ClassNotFoundException: Didn't find class "dagger.internal.Preconditions" on path: DexPathList[[...
似乎依赖项没有包含到 .aar 文件中。
"standard"这样做的方法是直接使用编译过程中的模块来生成 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')
}