当前位置:   article > 正文

Android studio aar文件的打包过程和使用方法_android studio 打包arr中只能执行一个方法

android studio 打包arr中只能执行一个方法

一.打包过程:

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里面加上:

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

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

二.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')

  1. //放在 android{}里面
  2. repositories {
  3. flatDir {
  4. dirs 'libs' // aar目录
  5. }
  6. }
  1. //放在 dependencies {}里面 其中XXX-release 是aar包的名字
  2. implementation(name:'XXX-release', ext:'aar')
  3. 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,谢谢!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/331675
推荐阅读
相关标签
  

闽ICP备14008679号