使用aar库时的依赖性错误

时间:2015-09-11 22:29:47

标签: android android-studio gradle aar

我在libs文件夹中有一个带.aar文件的模块。我用过这里发布的解决方案   [1]:http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/将.aar文件添加为依赖项,并能够正确编译模块。

现在我想将此模块用作项目中主模块的依赖项并进行编译。但是,当我尝试编译时,我确实看到一个错误,指出 gradle无法找到特定的.aar文件 。为什么我的主模块找不到我子模块的libs文件夹中的文件。想知道是否有人遇到过这个问题。

我的项目结构是这样的

--mainmodule
  --build.gradle (submodule as a dependency)
--submodule
   --libs
      -- abc.aar

以下是错误gradle throws:When unzipping library ':abc:, either group, name or version is empty

1 个答案:

答案 0 :(得分:10)

如果我理解您的问题,并且您已按照所分享的链接中所述的步骤进行操作,那么将其添加到 mainmodule的build.gradle 应该可以完成这项工作:

flatDir {
    dirs "../submodule/libs"
}

您基本上遇到了在submodule中修复的问题,因为mainmodule正在努力解决submodule的传递依赖关系(abc.aar)。

推荐方式:

虽然上面的答案可以解决您的问题,但Android Studio支持更好的方法。通过Android Studio v1.3 +中的文件>新建>新模块>导入.JAR / .AAR包选项导入本地aar文件。 然后,您可以将子模块依赖于aar-module,如下所示:

dependencies {
    compile project(':aar-module')
}