6

我有一个由 2 个模块组成的 Android 库:

Project Root
+-- moduleA
|   +-- src
|   \-- build.gradle
|
+-- moduleB
|   +-- src
|   \-- build.gradle
|
+-- build.gradle
+-- settings.gradle

设置.gradle

include ':moduleB', 'moduleA'

模块A/build.gradle

apply plugin: 'com.android.library'
...
dependencies {
    compile project(':moduleB')
}

模块B/build.gradle

apply plugin: 'com.android.library'
...

当我尝试使用 gradle 生成的 AAR 时,没有包含 moduleB 的资源。我试图将两个 AAR 推送到本地行家,但结果相同。

如果我将 moduleA 的类型更改为application而不是library,则生成的 APK 包含正确的资源。

我应该怎么做才能获得包含两个模块资源的 AAR?

4

1 回答 1

0

这是设计使然。

您有 2 个选项:

  1. 将两个模块发布为 AAR 库(使用类似这样的东西:https ://github.com/dcendents/android-maven-gradle-plugin )。这样,LibraryA将标记一个依赖LibraryB并导入它,包括使用经典方法的资源。

  2. 构建一个胖 AAR(使用类似这样的东西:https://github.com/adwiv/android-fat-aar)。这基本上是您所期望的。

于 2018-11-13T11:13:27.570 回答