我在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
答案 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')
}