Android studio aar文件的打包过程和使用方法

一.打包过程:

1.打开现有可运行工程的build.gradle,将

 apply plugin: 'com.android.application'

改为 

apply plugin: 'com.android.library'

2.将app的build.gradle中的 applicationId 删除

3.打开项目的AndroidManifest.xml,将启动项的<intent-filter>删除,将application标签中的android:icon="@mipmap/ic_launcher"删除

4.将代码中的switch语句全部改写成if else语句(Android Studio有快捷修改方式)

5.Android studio 工具栏Build->Rebuild Project。如果要打上签名,要在Build->Edit Build Types中signing标签中设置签名

6.打出来的arr文件位置:工程->build->outputs->arr,如图:

aar文件生成的位置

7.此时的arr是**-debug.aar,如果想打app-release.aar文件,则在Terminal命令行里输入./gradlew assembleRelease指令,就生成release.aar了。注意:运行这个命令时可能会报错 gradlew: command not found,解决方法:往下看  Mac配置gradle

8.如果需要自定义aar文件的名称则:

在library的gradle里面加上:

//获取生成的产品名
def getProductName() {
    return "xxxx"//这里是你自定义的名称
}
然后再android{}里面加上:
android.libraryVariants.all { variant ->
    variant.outputs.all {
        outputFileName = getProductName() + "_${defaultConfig.versionName}" + '.aar'
    }
}

名称修改就只需要修改产品名称和版本号即可 

二.Mac配置gradle

1.在应用程序中找到Android Studio,右键点击选择“选择包内容”,找到gradle文件,如下图:

gradle路径

2.右键点击gradle,查看简介,获取路径,如图:

3.打开terminal终端命令窗口

(1)使用命令[cd ~]到home目录下      cd ~

(2)接着使用     touch .bash_profile   

(3)然后   open -e .bash_profile   会以文本的形式打开文件(如果2中不存在的话就新建一个.bash_profile文件)

(4)在文件夹中添加如下带有选中颜色代码,如果不能操作是则是权限问题需要修改权限,具体下面会有介绍

这里写图片描述.bash_profile


注意:因为复制后的链接中Android Studio.app中间有空格路径中不能带有空格之类的特殊字符。需要在空格前加\进行转意,如上 保存退出,如果不能操作的话可以将.bash_profile复制粘贴一份,将原来的删除或者添加操作权限

export GRADLE_HOME=/Applications/AndroidStudio.app/Contents/gradle/gradle-2.8

export PATH=${PATH}:${GRADLE_HOME}/bin

注意:在空格之前加 \

(5)最后用[source .bash_profile]命令使用修改后的

(6)操作完成后使用命令[gradle -v]看是否出现版本号

(7)如果出现错误,则需要修改权限:

到刚才的bin目录下使用命令[ls -l]查看目录下文件的权限

这里写图片描述修改gradle和gradle.bat权限
如果中间没有x说明没有可执行权限,以上截图中已经做过修改,所以有可执行权限了。 
使用命令[chmod +x gradle.bat] 和 [chmod +x gradle]将权限加上

(8)出现版本号后,回到Android Studio,在Terminal里面敲入命令:

./gradlew assembleRelease

如果出现bash: ./gradlew: Permission denied 错误,则需要给gradlew修改权限:

chmod +x gradlew

(9)再次运行./gradlew assembleRelease,成功的现象如图

release.aar打包成功

三.aar的使用

1.新建工程,将.aar文件copy到libs文件夹下

2.在app的build.gradle文件里添加

(注意:如果aar需要在library里引用,那么需要把aar文件放在library的libs下,在app和library的gradle里面加下面这句话,app的library中需要将路径带上,如:dirs '../library_name/libs')

//放在 android{}里面
repositories {
    flatDir {
        dirs 'libs'   // aar目录
    }
}
//放在 dependencies {}里面   其中XXX-release 是aar包的名字
implementation(name:'XXX-release', ext:'aar')
implementation fileTree(dir:'libs', include: ['*.jar'])

3.将用于打包.aar文件的工程中的compile依赖全部添加到新的工程,.arr不会将compile资源打包进来

4.点击.gradle的sync,并重新编译 Rebuild,没有报错则编译成功

5.编译成功后,可在External Libraries中找到arr的工程文件目录,如图:

编译进来的.arr目录

在工程->app->build->intermediates->exploded-aar也可以找到.aar文件目录。如果找不到exploded-aar文件夹,是因为最新的Android stdio 2.3把exploded-aar放在另外一个地方,只需要在gradle.properties 中添加android.enableBuildCache=false就可以了,如果还是没有exploded-aar文件夹,那可能是文件目录本来就不一样,如图是我的目录结构:

intermediates目录结构

转载注明出处:https://blog.csdn.net/u012588160/article/details/81220556,谢谢!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值