使用aar库时的依赖性错误

pra*_*_85 9 android gradle android-studio 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
Run Code Online (Sandbox Code Playgroud)

这是错误gradle抛出: When unzipping library ':abc:, either group, name or version is empty

unb*_*ant 11

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

flatDir {
    dirs "../submodule/libs"
}
Run Code Online (Sandbox Code Playgroud)

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

推荐方式:

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

dependencies {
    compile project(':aar-module')
}
Run Code Online (Sandbox Code Playgroud)