使用命令编译release包
你Library的build.gradle中添加配置:
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
//混淆
minifyEnabled true
//Zipalign优化
zipAlignEnabled true
// 移除无用的resource文件
// shrinkResources true//Error:Resource shrinker cannot be used for libraries.
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
打开terminal使用gradlew assembleRelease指令顺利生成了release.aar和classes.jar

生成aar包和jar包的地址分别为:
YourLibrary\build\outputs\aar\YourLibrary-release.aar
YourLibrary\build\intermediates\bundles\release\classes.jar
YourLibrary是你的Library名称!
Gradle侧边栏Tasks任务编译
你Library的build.gradle中最后添加配置:
//task to delete the old jar
task deleteOldJar(type: Delete) {
delete 'release/AndroidPlugin.jar'
}
//task to export contents as jar
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
///Rename the jar
rename('classes.jar', 'AndroidPlugin.jar')
}
exportJar.dependsOn(deleteOldJar, build)
其中AndroidPlugin.jar就是生成的jar包名
实现上面操作之后 点击右边的Gradle侧边栏:


运行完毕后 你就可以在library项目文件下面的release文件夹里面找到生成的jar文件了

aar文件的生成
其实aar文件每次项目运行都会直接自己生成
文件路径如下

没有生成clean下项目或者rebuild的即可
步骤生成是:
1.点击右边的Gradle侧边栏
2.选择library目录下的 Tasks->build->assembleRelease方法

3.等待运行完毕后去 buile->outputs->aar的文件夹下拷贝出来即可
总结:gradlew assembleRelease指令是编译整个项目,耗时比较久!
自定义任务和assembleRelease任务命令针对性的生成jar包和aar包相对快很多,经常要打包建议使用这两个!
作者:Steadyoung
来源:CSDN
原文:https://blog.csdn.net/wenwins/article/details/80388361
版权声明:本文为博主原创文章,转载请附上博文链接!
网友评论