关于gradle中的传递依赖关系存在一些问题,但它们都没有解决我的问题。
我采取了以下步骤:
在模块B的build.gradle中添加了依赖项:
compile ('com.abc:sdk:0.8.0@aar')
在app level build.gradle中添加了依赖项:
compile project(":B")
在此步骤之后,Android Studio会自动为 B 生成AAR文件。
创建了另一个Android Studio项目:B并将此AAR文件作为模块导入此项目。
项目A中的一切正常。但是当我尝试运行项目B时,我得到NoClassDefFoundError
。
在项目B中明确添加 abc:sdk 的依赖项解决了问题,但我的目的是编译abc:sdk而不显式向项目B添加依赖项。
答案 0 :(得分:1)
aar文件不包含传递依赖项。
这意味着,如果要导入aar文件,则还必须在项目中指定依赖项。
使用maven存储库,您将不会遇到同样的问题。 Gradle使用pom文件下载依赖项。