如何使用 Gradle for Android 手动包含外部 aar 包

新手上路,请多包涵

我一直在尝试新的 android 构建系统,但遇到了一个小问题。我已经编译了我自己的 ActionBarSherlock 的 aar 包,我称之为“actionbarsherlock.aar”。我想要做的是实际上使用这个 aar 来构建我的最终 APK。如果我使用编译项目(’:actionbarsherlock’)将整个 ActionBarSherlock 库作为 android-library 模块包含到我的主项目中,我就可以成功构建而不会出现任何问题。

但是我的问题是,我想手动提供该依赖项作为 aar 文件包,就像我想要一个 JAR 一样,那么我似乎无法弄清楚如何将它正确地包含到我的项目中。我尝试使用编译配置,但这似乎不起作用。我在编译过程中一直找不到符号,这告诉我 aar 包中的 classes.jar 没有包含在类路径中。

有谁知道手动将 aar 包作为文件包含的语法?

构建.gradle

 buildscript {

 repositories {
     mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:0.4'
  }
}
apply plugin: 'android'

repositories {
   mavenCentral()
}
dependencies {
    compile files('libs/actionbarsherlock.aar')
}

android {
    compileSdkVersion 15
    buildToolsVersion "17.0"
}

编辑:所以答案是它目前不受支持,如果你想跟踪它,这就是 问题 所在。

编辑:目前仍然不直接支持,最好的选择似乎是@RanWakshlak 提出的解决方案

编辑:使用@VipulShah 提出的语法也更简单

原文由 Miguel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 761
2 个回答

请按照以下步骤使其正常工作(我已将其测试到 Android Studio 2.2)

假设您将 aar 文件保存在 libs 文件夹中。 (假设文件名是 cards.aar

然后在应用程序 build.gradle 指定以下并单击同步项目与 Gradle 文件。打开项目级别 build.gradle 并添加 flatDir{dirs 'libs'} 如下所示

allprojects {
   repositories {
      jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}

现在打开应用程序级 build.grdle 文件并添加 .aar 文件

    dependencies {
       implementation(name:'cards', ext:'aar')
}

如果一切顺利,您将看到在 build -> exploded-aar 中创建了库条目

另请注意,如果您从另一个具有依赖项的项目中导入 .aar 文件,您也需要在 build.gradle 中包含这些文件。

原文由 Vipul 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 Android Studio Arctic Fox 手动导入 AAR 文件

步骤 1. 打开项目结构

在此处输入图像描述

步骤 2. 打开项目结构

在此处输入图像描述

步骤 3. 输入文件路径

在此处输入图像描述

完毕!

原文由 shanwu 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题