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


当前回答

目前不支持引用本地的.aar文件(已被Xavier Ducrochet确认)

您可以做的是设置一个本地Maven存储库(比听起来简单得多)并从那里引用.aar。

我写了一篇博文详细介绍了如何让它在这里工作:

http://www.flexlabs.org/2013/06/using-local-aar-android-library-packages-in-gradle-builds

其他回答

我刚刚成功了!

复制mylib-0.1。Aar文件到libs/文件夹 将这些行添加到构建的底部。Gradle(应该是应用,而不是项目): 存储库{ flatDir { dirs“填词” } } 依赖关系{ 编译“@aar com.example.lib: mylib: 0.1” } 到目前为止一切顺利。这里是最重要的一点:

除非启用了离线模式,否则Gradle需要访问网络以获取依赖关系。

确保您已经通过项目结构/Gradle中的复选框启用了离线工作

——或——

配置代理设置以便访问网络。

要配置代理设置,您必须修改项目的gradle。属性文件,分别配置HTTP和HTTPS如下:

systemProp.http.proxyHost=proxy.example.com
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=user
systemProp.http.proxyPassword=pass
systemProp.http.nonProxyHosts=localhost
systemProp.http.auth.ntlm.domain=example <for NT auth>

systemProp.https.proxyHost=proxy.example.com
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=user
systemProp.https.proxyPassword=pass
systemProp.https.nonProxyHosts=localhost
systemProp.https.auth.ntlm.domain=example <for NT auth>

希望这有用。

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

步骤1。开放式项目结构

步骤2。开放式项目结构

步骤3。输入文件路径

完成了!

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

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


只有一个时间设置&可以添加未来库,无需任何代码更改


在应用程序级别build.gradle中添加以下行

  implementation fileTree(dir: "libs", include: ["*.aar"])

将项目结构从Android改为Project。

导航到app->libs如下所示

然后在libs文件夹中粘贴“aar”。

点击android studio左上角的文件,然后点击“同步项目与Gradle文件”。

就是这样。

有两种方法:

第一种方法

打开Android Studio,通过文件->新建->新建模块导航到创建新模块窗口

选择Import . jar /。AAR Package项并单击Next按钮 在构建中添加依赖项。属于你的app模块的Gradle文件。

    dependencies {
        ...
        implementation project(path: ':your aar lib name')
    }

这是所有。

第二种方法

在libs目录下创建一个文件夹,例如aars。 把你的aar lib放到aars文件夹中。 添加代码片段

repositories {
    flatDir {
        dirs 'libs/aars'
    }
}

进入你的构建。Gradle文件属于app模块。

在构建中添加依赖项。属于你的app模块的Gradle文件。

dependencies {
    ...
    implementation (name:'your aar lib name', ext:'aar')
}

这是所有。

If you can read Chinese, you can check the blog. What are AAR files and how can they be used in Android development