Gradle: 下载包含的aar库的依赖

Gradle: download Dependencies of included aar-library

我写了一个库项目 cameraBarcodeScanner,它内置在一个 aar 文件中。该库在其 build.gradle 中定义了以下依赖项:

dependencies {
 compile fileTree(dir: 'libs', include: ['*.jar'])
 testCompile 'junit:junit:4.12'
 compile 'com.android.support:appcompat-v7:23.1.0'
 compile 'com.google.zxing:core:3.2.1'
 compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
}

我在这样的测试应用程序中使用该库:

dependencies {
 compile(name: 'cameraBarcodeScanner-release', ext: 'aar')
}

Gradle 找到应用程序并能够构建它。但是,在运行时,android 无法找到位于 zxing-android-embedded 中的 类。在我看来,gradle 没有下载库项目的依赖项。 我也试过:

dependencies {
 compile(name: 'cameraBarcodeScanner-release', ext: 'aar'){
  transitive = true
}

但这也无济于事。我是否必须以某种方式公开库的依赖项?您将如何使用库并 gradle 下载其依赖项?

提前致谢!

aar 文件 不包含嵌套(或 transitive)依赖关系 并且没有 pom描述库使用的依赖项的文件。

这意味着,如果您使用 flatDir 存储库导入 aar 文件,您还必须在项目中指定依赖项

您应该使用 maven 存储库(您必须在私有或 publicmaven 存储库中发布该库),您不会遇到同样的问题。
在这种情况下,gradle 使用包含依赖项列表的 pom 文件下载依赖项。