小编典典

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

all

我一直在尝试使用新的 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 提出的语法也更简单


阅读 107

收藏
2022-03-14

共1个答案

小编典典

请按照以下步骤使其正常工作(我已将其测试到 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 中包含这些文件。

2022-03-14