我一直在尝试新的android构建系统,我遇到了一个小问题。我已经编译了我自己的ActionBarSherlock的aar包,我称之为' ActionBarSherlock .aar'。我想做的是用这个aar来构建我最终的APK。如果我包括整个ActionBarSherlock库作为一个android-library模块到我的主项目使用编译项目(':ActionBarSherlock '),我能够成功地构建没有任何问题。

但我的问题是,我想手动提供一个aar文件包的依赖,如果我将JAR,那么我似乎不知道如何正确地将它包含到我的项目中。我尝试使用编译配置,但这似乎不工作。在编译期间,我一直无法找到符号,这告诉我aar包中的classes.jar没有包含在类路径中。

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

build.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提出的语法也更简单


当前回答

对我来说,这是Android Studio环境配置的问题。

当我更新文件->项目结构-> JDK位置到一个更高的Java版本(jdk1.8.0_192。JDK -对我来说),一切都开始工作了。

其他回答

为了简化答案

如果.aar文件在本地存在,则包含 编译项目(':project_directory')在build的依赖。Gradle你的项目。

如果.aar文件存在于远程,则包含 编译'com.*********.sdk:project_directory:0.0.1@aar'在build的依赖项中。Gradle你的项目。

以下方法适用于Android studio v0.8.x:

将aar文件保存在app模块的libs文件夹下(例如:<project>/<app>/libs/myaar.aar) 添加下面的构建。Gradle的“app”模块文件夹(不是你的项目根build.gradle)。注意编译行中的名称,它是myaar@aar而不是myaar.aar。 依赖关系{ 编译“package.name.of.your.aar: myaar@aar” } 存储库{ flatDir { dirs“填词” } } 点击工具-> Android ->同步项目与Gradle文件

更新android studio 3.4

进入文件->项目结构

模块,然后单击+

选择Import .aar Package

找到.aar路由

完成和应用,然后验证是否添加了包

现在在app模块中,点击+和module Dependency

检查库包,确定

验证添加的依赖项

项目结构是这样的

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

步骤1。开放式项目结构

步骤2。开放式项目结构

步骤3。输入文件路径

完成了!

我在Android问题跟踪器中找到了这个解决方法: https://code.google.com/p/android/issues/detail?id=55863#c21

诀窍(不是修复)是将你的.aar文件隔离到子项目中,并将你的库作为工件添加:

configurations.create("default")
artifacts.add("default", file('somelib.jar'))
artifacts.add("default", file('someaar.aar'))

更多信息: Handling-transitive-dependencies-for-local-artifacts-jars-and-aar