Android:创建 fat aar 库

1,290 阅读1分钟

1. 前言

文章要实现一个目标,创建一个有三方依赖的 android aar 库,为后续其他技术作为一个基础铺垫。本文会使用第三方的 gradle 插件 fat-aar 来创建一个简单的一个依赖 okhttp 这个库的一个自定义 aar 库。

2. 库创建

使用 Android studio 创建项目,名为 DemoAAR。然后在该项目中创建库 libCommUI,步骤为:File -> New Module -> Android Library。

在 libCommUI 模块中引入 fat-aar 的插件。步骤如下:

  1. 在 DemoAAR 的 build.gradle 中添加依赖,这里要注意 fat-aar 和 Gradle Plugin、 Gralde 的版本的匹配情况,具体参考插件的说明在集成的过程中有个问题,即插件目前最新版本是 1.3.x 版本,但是这个版本在构建后无法将依赖库打包进最终的 aar 中,其中的原因未知,所以使用 1.2.x 版本。
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1' 
        classpath 'com.kezong:fat-aar:1.2.20'
    }
}
  1. 在 libCommUI 中引入插件,build.gralde 的内容如下:
apply plugin: 'com.android.library' 
boolean buildAAR = true

if (buildAAR) {
    apply plugin: 'com.kezong.fat-aar'
} 
android {  
    defaultConfig {
       ...
    }
}

dependencies {
    ... 
    if (buildAAR) {
        embed ('com.squareup.okhttp3:okhttp:3.12.1') {
        }
    } else {
        implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    } 
}

if (buildAAR) {
    configurations.embed.transitive = true
}

  1. 打包 libCommUI 库,打包后可以在 build/outputs/aar 下找到输出的 libCommUI-xxx.aar 库。

3. 测试

对打包完成的库 libCommUI.aar 进行测试。通过新建一个 android 项目,命名为 DemoUseLibCommUI。创建完成后引入 libCommUI 库:File -> New Module -> Import .JAR/.AAR package,选取 aar 所在文件,点击确定。

接下来给项目添加对 libCommUI 库的依赖:右键项目名 -> Open Module Settings,如下图。添加完成后可以正常的调用 libCommUI 提供的功能,样例:Example

图片名称