为了简化事情,我将调用我正在使用 library_a.aar 和 library_b.aar 的库。
这是我面临的情况。library_a 已构建并推送到 maven_repository,这里没有问题。library_b 依赖于 library_a 并添加到 library_b 中,如下所示:
repositories {
maven {
credentials {
username USERNAME
password PASSWORD
}
url "https://api.bitbucket.org/1.0/repositories/COMPANY/maven_repository/raw/releases"
}
}
dependencies {
...
compile 'package:library_a:1.0'
...
}
library_b 构建没有错误并上传到 maven_repository。
现在我的应用程序依赖于 library_b,我需要通过提供(如上所述)存储库以及凭据来添加它。
我面临的第一个问题是,为了在我的项目中编译 library_b 它需要按以下方式编译:
dependencies {
...
compile 'package:library_b:1.0@aar'
...
}
我必须添加 @aar 否则 gradle 将无法识别它,但我不必对 library_a 执行此操作。
第二个问题是,当我构建应用程序时,我收到警告说它找不到对 library_a 中可用类的引用。我在这里错过了什么?我确实尝试将 transitive=true 添加到 library_a
dependencies {
...
compile ('package:library_a:1.0') {
transitive = true;
}
...
}
但绝对没有任何作用。我确实检查了 pom 文件,它包含正确的依赖项。可能是我正在做的事情不受 gradle 的支持,我必须在我的应用程序中同时编译 library_a 和 library_b 吗?