【问题标题】:Dependency error when using aar library使用 aar 库时出现依赖错误
【发布时间】:2015-12-08 13:54:16
【问题描述】:

我在 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 抛出的错误:When unzipping library ':abc:, either group, name or version is empty

【问题讨论】:

    标签: android android-studio gradle aar


    【解决方案1】:

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

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

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

    推荐方式:

    虽然上面的答案应该可以解决您的问题,但 Android Studio 支持一种更好的方法来执行此操作。通过 Android Studio v1.3+ 中的 File>New>New Module>Import .JAR/.AAR Package 选项导入本地 aar 文件。 然后,您可以让您的子模块依赖于 aar-module,如下所示:

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

    【讨论】:

    • 感谢您的推荐。显然,这是正确的做法。
    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 2018-10-22
    • 2018-11-16
    • 1970-01-01
    相关资源
    最近更新 更多