将库构建迁移到Gradle 4.5.1后,应用程序构建失败

时间:2018-10-09 20:52:07

标签: android gradle build.gradle

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

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

应用程序:

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

图书馆A:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

使用api代替implementation

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