在Mac中用android studio 导出jar包最重要的是需要配置gradle ,它包的导出也是通过gradle命令进行的。
所以,如果想成功打包,要先配置好gradle环境,这样你才可以在android studio中的terminal中直接使用gradle命令了。
- gradle 环境变量的配置
这个配置和jdk的环境变量配置类似
- 启动终端,进入当前用户目录。
2.创建 .bash_profile
文件,如果已经有了就直接打开
3.用命令打开文件编辑 open -e .bash_profile
GRADLE_HOME=/Users/liuhai/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1 export GRADLE_HOME export PATH=$PATH:$GRADLE_HOME/bin
这里面要注意的是gradle_home 的路径可以自己定义,你可以网上下载最新的gradle,也可以用android studio自带的
如果你用自带的就是下面这样的,这里要注意android studio文件名中间有个空格,所以这里要用转义字符进行转义:
export GRADLE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-2.14.1 export PATH=$PATH:$GRADLE_HOME/bin
4.关闭保存.bash_profile文件
5.命令行输入source .bash_profile
更新刚刚配置的环境变量
6.输入gradle -version
验证配置是否正确,如果正确显示版本号就说明你配置正确。同时,在你的android studio terminal中输入这个命令应该也能显示正确的版本号,如果不行,请重启android studio ,还不行就重启电脑,再不行就检查你的配置,还不行就私信我,我教你。
如果你上面的成功配置了,那我们就开始打包了。
1.在你需要打包的module的builde.gradle文件中 将apply plugin: 'com.android.application'
中的application
改成library
,并注释掉applicationId
这一行
2.在build.gradle文件中添加下面类容(内容和android{……}模块平级,不要加到android 模块中去了):
task clearJar(type: Delete) {
delete 'libs/sdk.jar' //sdk是你自己jar包的名字,随便命名
}
task makeJar(type: org.gradle.api.tasks.bundling.Jar) {
baseName 'sdk' //指定生成的jar名
//从哪里打包class文件,这个是你module中生成的class文件,如果没有classes文件夹,不妨先运行下你的应用
from('build/intermediates/classes/debug/com/****/*****')
//打包到jar后的目录结构,这里建议直接用包名
into('com/*****/******')
exclude('test/', 'BuildConfig.class', 'R.class')//去掉不需要打包的目录和文件
exclude { it.name.startsWith('R'); }//去掉R开头的文件
}
makeJar.dependsOn(clearJar, build)
然后在android {……}模块中添加下面内容:
lintOptions {
abortOnError false
}
配置好后就直接在你的android studio 到terminal中输入gradlew makeJar
命令,成功后你就可以在你的build/libs文件夹下看到你要的jar包了。同样到项目模块的buidl/outputs/aar文件夹下看到了我们的.aar文件
这个笔记主要是给我自己看的,所以没有配置图片,网上教程也很多,讲究看下吧
网友评论