如何在 Android Studio 项目中添加和使用 AAR

How to Add and Use an AAR in AndroidStudio Project

我正在尝试在我的 android 项目中使用自定义 aar。我在 Whosebug 和 Web 中找到了数十个示例。许多构建失败,none 工作。最清楚的是 http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/
这离工作最近。

这是我做的

  1. 成功从 Ref.java

    创建了一个非常简单的 AAR (Ref.aar)
    // Ref.java  
    package com.ramrod.Ref;  
    public class Ref {
        // Square an integer
        public static int
        square(int val) {
            return (val * val);
        }
    }  
    
  2. 创建了一个测试项目 (RefTest)

  3. 在 RefTest/app
  4. 下创建了文件夹 'libs'
  5. 已将 Ref.aar 添加到库
  6. 文件->新建->新建模块->导入.JAR/.AAR包。
  7. 选择 Ref.jar 作为文件名->完成(显示成功)。
  8. 已修改build.gradle

    // build.gradle (Module: app)  
    
    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 27  
        buildToolsVersion "27.0.3"
        defaultConfig {
            applicationId "com.ramrod.RefTest"
            minSdkVersion 11
            targetSdkVersion 15
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
        repositories {
            flatDir {
                dirs 'libs'
            }
        }
        dependencies {
            compile( name:'Ref', ext:'aar' )
       }
    }  
    
  9. 同步build.gradle(全部)
  10. 在 RefTest main activity 的 onCreate 中添加了对 Ref.aar 方法(正方形)的引用。

    int sq = Ref.square( 2 );
    
  11. 构建->清理然后构建->重建。
    这产生了 错误:找不到符号变量 Ref

我确定我在做一些幼稚或愚蠢的事情,但我看不到。
任何帮助表示赞赏。

你应该:

1) 创建 aar 库并将其放在 libs 目录中 ( without "File->New->New Module->Import .JAR/.AAR Package" )

2) 添加到 build.gradle(模块:app)

dependencies {
    ...
    implementation fileTree(include: ['*.aar'], dir: 'libs')
    ...

}

之后就可以使用Ref.square(int);

构建后您的 apk 将包含:

当您使用导入 aar/jar 选项从内置帮助工具导入 AAR 时, studio 使用此 aar 创建一个模块。

所以在这个状态下你可以看到类似于下面提到的状态的东西。 当显示面板为Android、

将你的面板模式更改为项目并打开你的 testaar ,你实际上可以看到你的模块的 build.gradle 文件和相应的 aar。

这就是为什么你的声明

compile( name:'Ref', ext:'aar' )

没有工作。

要将此 aar 添加到您的项目中(在使用 import aar/jar 之后),您可以先将模块添加到 settings.gradle(项目设置文件)

include ':app', ':testaar'

然后直接添加到你的应用层build.gradle文件

implementation project(':testaar')

2)另一种方法是

右键单击您的应用程序模块 ->Select 打开模块设置 -> Select 模块 -> 转到依赖项选项卡

P.S 你也可以从 Build->Edit Libraries and Dependencies

打开这个 window

你会遇到一个window如下

点击小+图标,然后点击Module选项,最后添加需要的模块(testaar)

同步您的代码,瞧,它现在将开始工作。