android arr使用

1. 概念

模块化编程是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。

在Eclipse时代,我们使用的是Android Library,到了Android Studio时代,我们可以使用aar。


2. aar文件格式

在Android Eclipse时代,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方

便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文

件、xml资源等,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library

导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直

接方便的引用。aar文件其实是一个Android Library项目的二进制包。 

aar文件(.zip)的格式如下。

  • /AndroidManifest.xml (必须)
  • /classes.jar (必须)
  • /res/ (必须)
  • /R.txt (必须)
  • /assets/ (可选)
  • /libs/*.jar (可选)
  • /jni//*.so (可选)
  • /proguard.txt (可选)
  • /lint.jar (可选)

3. 导出aar文件

首先Android Library项目的gradle脚本的开头声明。apply plugin: ‘com.android.library’ 

之后执行 ./gradlew assembleRelease,然后就可以在 build/outputs/aar 文件夹里生成aar文件;也可以build项目一次

之后在/build/outputs/aar/文件夹下找到。


4. 引用aar文件

1)如果你的Android Studio版本是1.3以上的话,可以通过File -> New Module -> Import .JAR/.AAR,将aar导成一个lib

rary module,然后build.gradle里面添加如下依赖。

dependencies { 


compileproject(‘:youProject’) 

}

2)通过添加本地repositories 使用 

首先将aar文件拷贝到libs目录(可以其他目录);然后在app的build.gradle配置文件中添加如下代码。

repositories { 

flatDir { 

dirs ‘libs’ //this way we can find the .aar file in libs folder 



}

最后,在项目中引用是只需要在build.gradle文件中加入如下依赖。

dependencies { 


compile(name:’youProject’, ext:’aar’) 

}

### 创建和打包 AAR 文件 #### 准备工作 为了成功创建并打包 AAR 文件,在 Android Studio 中需先准备好相应的环境。这包括安装最新版本的 Android Studio 和配置好 Gradle 构建工具。 #### 创建 Android 库项目 在 Android Studio 中创建一个新的 Android Library 项目[^2]。选择 "File" -> "New" -> "New Module", 接着选择 "Android Library" 并完成向导中的设置选项来定义库模块的信息。 #### 编写代码与资源 编写所需的 Java/Kotlin 类以及 XML 布局文件等资源,这些都将被打包进最终的 AAR 文件内。确保所有的功能都经过充分测试以保证质量[^4]。 #### 配置 build.gradle 文件 编辑 `build.gradle` 文件以指定编译 SDK 版本、最小支持 API 级别以及其他必要的构建参数。对于想要发布的库来说,还需要移除不必要的调试信息和服务: ```gradle android { ... defaultConfig { minSdkVersion 19 targetSdkVersion 30 versionCode 1 versionName "1.0" // 移除 debuggable 属性,默认为 false ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } ``` #### 执行命令进行打包 通过终端或命令提示符进入项目的根目录,并运行如下指令来进行 AAR 的打包操作: ```bash ./gradlew :libraryModule:assembleRelease ``` 此命令将会根据所选的 Build Variant (通常是 Release) 来生成对应的 AAR 文件。完成后可以在 `<project>/library_module/build/outputs/aar/` 路径下找到目标文件[^1]。 #### 解决第三方依赖问题 当库中存在对外部库的依赖时,需要注意使用 `api` 关键字代替默认的 `implementation`, 这样可以使得外部库也能够被其他应用正确识别而不引发 `NoClassDefFoundError` 错误[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值