无法从android项目编译aar的传递依赖

时间:2015-09-21 12:07:09

标签: android gradle android-gradle

关于gradle中的传递依赖关系存在一些问题,但它们都没有解决我的问题。

我采取了以下步骤:

  1. 创建了一个新的Android Studio项目: A
  2. 在该项目中创建了一个新的“Android库”模块: B
  3. 在模块B的build.gradle中添加了依赖项:

    compile ('com.abc:sdk:0.8.0@aar')
    
  4. 在app level build.gradle中添加了依赖项:

    compile project(":B")
    

    在此步骤之后,Android Studio会自动为 B 生成AAR文件。

  5. 创建了另一个Android Studio项目:B并将此AAR文件作为模块导入此项目。

    项目A中的一切正常。但是当我尝试运行项目B时,我得到NoClassDefFoundError

  6. 在项目B中明确添加 abc:sdk 的依赖项解决了问题,但我的目的是编译abc:sdk而不显式向项目B添加依赖项。

1 个答案:

答案 0 :(得分:1)

aar文件不包含传递依赖项。

这意味着,如果要导入aar文件,则还必须在项目中指定依赖项。

使用maven存储库,您将不会遇到同样的问题。 Gradle使用pom文件下载依赖项。