在Android库项目中包含AAR依赖项

时间:2015-08-18 11:59:27

标签: android android-studio android-gradle aar

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

flatDir {
    dirs 'libs'
}

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

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

  

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

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

4 个答案:

答案 0 :(得分:12)

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

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

答案 1 :(得分:0)

我让它像这样工作:

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

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

答案 2 :(得分:0)

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

以下步骤适合我。

  1. 右键单击项目 - >新 - >模块 - >导入aar包 - >选择 提交并导入。
  2. settings.gradle 中,Make依赖于依赖.For 示例include ':imported-aar', ':your-library', ':app'
  3. your-library build.gradle 添加compile project(':imported-aar')

答案 3 :(得分:0)

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

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

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

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

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

然后我进行了同步并且成功了。