4

我有一个使用库 A 的应用程序,该库 A 已转换为使用 Gradle 4.5.1(来自 3.5.1)构建。库 A 又依赖于也转换为使用 Gradle 4.5.1 的库 B。

尝试使用库 A 构建时,应用程序构建现在失败(它不直接包含对库 B 的依赖)。构建错误是针对库 B 中的资源的资源未找到错误。

应用:

dependencies {
    implementation('com.example:libraryA:version@aar') {
        transitive = true
    }
}

图书馆甲:

dependencies {
    implementation 'com.example:libraryB:version@aar'
}

如果我直接在应用程序的依赖项中包含库 B,那么构建工作,但是我不想这样做,因为我不想在应用程序中指定库 A 的依赖项,我不想随着 A 使用的版本增加,必须不断更新库 B 的版本。

如果我使用compile指令而不是 ,它也会构建implementation,但是,我不想这样做,因为compile它将被过时。此外,使用api似乎无法解决问题。

如何在不需要指定库 A 的依赖项的情况下使构建工作?

4

1 回答 1

2

使用api代替implementation

api('com.example:libraryA:version@aar')

于 2018-10-09T20:56:48.210 回答