【问题标题】:Include AAR dependency in Android Library Project在 Android 库项目中包含 AAR 依赖项
【发布时间】:2015-11-11 08:31:55
【问题描述】:

在我的 Android Studio Gradle 项目中,我使用了几个库,而一个库应该使用本地 AAR 文件作为依赖项。我使用流行的解决方案将 AAR 文件作为依赖项包含到我的库项目中:

flatDir {
    dirs 'libs'
}

compile(name: 'aar-library', ext: 'aar')

当我现在尝试同步时,我收到错误消息

无法解决:依赖 'aar-library'

在我的主项目中,即使我没有在那里使用/引用 AAR 文件。如果我只是将 AAR 文件复制到我的主项目的 libs 文件夹中,它也可以工作。有什么想法吗?

【问题讨论】:

  • aar-library 是文件名吗?
  • 是的,它是没有文件扩展名的文件名

标签: android android-studio android-gradle-plugin aar


【解决方案1】:

我想将我的 AAR 文件添加到我的库项目中。我必须将此添加到我的图书馆项目的 gradle 中

implementation(files("libs/sublibrary.aar"))

我的“libs”文件夹位于 myLibraryName/libs。

我还必须将以下内容添加到我的主项目的 gradle 中

implementation(files("../myLibraryName/libs/sublibrary.aar"))

然后我同步并成功了。

【讨论】:

    【解决方案2】:

    如果 user1033552 的回答不起作用。就我而言,它不起作用。

    以下步骤对我有用。

    1. 右键项目->新建->模块->导入aar包->选择 文件并导入。
    2. settings.gradle中,Makedependent是在dependency.For之后 例如include ':imported-aar', ':your-library', ':app'
    3. 现在 your-librarybuild.gradle 添加 compile project(':imported-aar')

    【讨论】:

      【解决方案3】:

      我是这样工作的:

      compile 'com.example.lib:lib_name:1.0.0@aar'
      

      在此示例中,lib_name:1.0.0.aar 是文件名。

      【讨论】:

        【解决方案4】:

        已经找到解决方案。看起来 AAR 依赖项都一起移动了,所以主项目尝试在其“libs”目录中解析 A​​AR 依赖项,但显然它不存在。 您需要做的是更准确地定义依赖于带有 AAR 文件的库的每个模块可以相对于其路径找到它的位置,例如

        dirs project(':my-library-project').file('libs')

        【讨论】:

        • 你为我节省了很多时间!
        • 永远不会想到这一点
        • 在哪里添加这个?在主项目 gradle 或图书馆的 gradle 中?以及在哪里
        猜你喜欢
        • 2018-04-02
        • 1970-01-01
        • 1970-01-01
        • 2016-01-06
        • 2014-04-24
        • 1970-01-01
        • 2016-07-28
        • 1970-01-01
        • 2017-05-14
        相关资源
        最近更新 更多