1.aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件
在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。
分别存储位置:
*.jar:库/build/intermediates/bundles/debug(release)/classes.jar
*.aar:库/build/outputs/aar/libraryname.aar
两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
2.生成aar包步骤:
①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作
②.新建Module 类型为android Library 后如下图所示
③.在新建的Module中编写完代码后,接下来编译整个工程后就会自动生成aar包,包的路径在新建的Module ==》 build ===》outputs ==>aar目录下。 如图
3.其他androidstudio工程引用aar包
①.将aar包复制到lib目录下
②.配置build.gradle文件:
加入
repositories {
flatDir {
dirs 'libs'
}
compile(name:'camerascan-1.0', ext:'aar')
完整的配置文件:
- apply plugin: 'com.android.application'
- android {
- compileSdkVersion 22
- buildToolsVersion "22.0.1"
- defaultConfig {
- applicationId "com.geenk.testcamerascanarr"
- minSdkVersion 11
- targetSdkVersion 22
- versionCode 1
- versionName "1.0"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- repositories {
- flatDir {
- dirs 'libs'
- }
- }
- }
- dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- compile(name:'camerascan-1.0', ext:'aar')
- compile 'com.android.support:appcompat-v7:22.2.0'
- }
如图复制aar包到lib下
图复制到lib下后,点击下图按钮让aar包可以在在代码中引用,或者编译一次工程
以上操作成功后可以在扩展包下看到被引用的aar包文件
我的Demo下载;
导出库:GDMAP
导入库:MyMap