Android AAR 生成

什么是 AAR 文件?

AAR(Android Archive)是一种打包格式,用于将 Android 库项目打包成一个可复用的二进制文件。AAR 文件包含了 Android 库的编译代码、资源文件、清单文件以及其他依赖项。AAR 文件可以被其他 Android 应用项目引用,以便复用已打包的代码和资源。

为什么要生成 AAR 文件?

生成 AAR 文件的主要目的是将一个 Android 库项目封装为一个可复用的模块,方便其他项目进行引用和依赖。通过生成 AAR 文件,可以将库项目的代码和资源进行封装,并提供清晰的接口供其他开发者使用。

如何生成 AAR 文件?

生成 AAR 文件的步骤如下:

  1. 在 Android Studio 中打开你的库项目,并确保项目可以成功编译和运行。
  2. 在项目的根目录下,找到 build.gradle 文件,并在其中添加以下配置:
apply plugin: 'com.android.library'

android {
    // 配置 Android 版本和其他编译选项
    // ...
}

dependencies {
    // 添加库项目的依赖项
    // ...
}

// Android 库的配置
android.libraryVariants.all { variant ->
    variant.outputs.all {
        // 生成 AAR 文件
        outputFileName = "${variant.name}.aar"
    }
}

上述配置中,android.libraryVariants.all 用于遍历所有 Android 库的构建变体,variant.outputs.all 用于配置输出文件的名称。可以根据需要修改文件名。

  1. 在 Android Studio 的 Terminal 中执行以下命令,生成 AAR 文件:
./gradlew assemble

在项目的 build/outputs/aar 目录下会生成 AAR 文件。

示例

以下是一个简单的示例,演示如何生成 AAR 文件。

代码结构

├── library
│   ├── src
│   │   └── main
│   │       ├── java
│   │       │   └── com
│   │       │       └── example
│   │       │           └── mylibrary
│   │       │               └── MyLibrary.java
│   │       └── res
│   │           └── values
│   │               └── strings.xml
│   ├── build.gradle
│   └── ...
└── app
    ├── src
    │   └── main
    │       ├── java
    │       └── res
    └── ...

库项目 library 中的 MyLibrary.java 文件的内容如下:

package com.example.mylibrary;

public class MyLibrary {
    public static int add(int a, int b) {
        return a + b;
    }
}

build.gradle 配置

在库项目 librarybuild.gradle 文件中,添加以下配置:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

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

android.libraryVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}.aar"
    }
}

生成 AAR 文件

在 Terminal 中执行以下命令:

./gradlew assemble

library/build/outputs/aar 目录下会生成 library-release.aar 文件。

结论

通过以上步骤,我们成功生成了一个 Android 库项目的 AAR 文件。这个 AAR 文件可以被其他项目引用,方便代码和资源的复用。生成 AAR 文件是 Android 开发中常用的技术,对于提高代码复用性和模块化开发有很大的帮助。

甘特图

gantt
    dateFormat  YYYY-MM-DD
    title Android AAR 生成甘特图

    section 生成 AAR 文件
    准备环境         :done, 2022-11-01, 1d
    配置 build.gradle :done, 2022-11-02, 1d