博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通用 Gradle打包混淆Jar, 合并第三方引用的Jar (Gradle 3.0)
阅读量:7174 次
发布时间:2019-06-29

本文共 1544 字,大约阅读时间需要 5 分钟。

有向客户提供SDK的需求, 以jar包的形式提供. 我们的项目中引用了第三方的Jar(其实是公司另一个项目的jar), 所以也需要把第三方的jar打到SDK中 搜索网上发现资料都不是很完美, 综合之后, 自己实现gradle脚本.

打包命令 1.未混淆的jar

gradle makeJar

2.混淆过的Jar gradle makeJar_Pro

Gradle 脚本代码如下

task clearJar(type: Delete) {    delete 'build/libs/livesdk_pro.jar'    delete 'build/libs/livesdk.jar'}task makeJar(type: Jar, dependsOn: ['build']) {    archiveName = 'livesdk.jar'    from('build/intermediates/classes/release')    from(project.zipTree("libs/kk_common_sdk.jar"))    destinationDir = file('build/libs')    exclude('com/tvmao/sdk/live/BuildConfig.class')    exclude('com/tvmao/sdk/live/BuildConfig\$*.class')    exclude('**/R.class')    exclude('**/R\$*.class')}def androidSDKDir = project.android.sdkDirectory.absolutePathdef androidJarDir = androidSDKDir.toString() + '/platforms/' + "${android.compileSdkVersion}" + '/android.jar'   task makeJar_Pro(type: proguard.gradle.ProGuardTask, dependsOn: "build") {// 未混淆的jar    injars 'build/libs/livesdk.jar'// 混淆后的jar路径    outjars 'build/libs/livesdk_pro.jar'    libraryjars(androidJarDir)// 具体需要keep住的类    configuration 'proguard-rules.pro'    copy {        from('build/libs/')        into('/')        include('livesdk_pro.jar')        rename('livesdk_pro.jar', 'livesdk_pro_' + sdkvercode + '.jar')    }}makeJar_Pro.dependsOn(makeJar, clearJar, build)复制代码

注意, 低版本的gradle 获取SDK dir的方式有所不同.

def androidSDKDir = plugins.getPlugin('com.android.library').sdkHandler.getSdkFolder()def androidJarDir = androidSDKDir.toString() + '/platforms/' + "${android.compileSdkVersion}" + '/android.jar'复制代码

转载地址:http://hebzm.baihongyu.com/

你可能感兴趣的文章
DG_Oracle DataGuard Switchover主备节点切换(案例)
查看>>
CentOS7系统常用命令
查看>>
10.2.0.1 db console启动失败问题一例
查看>>
linux下查看文件编码及修改编码
查看>>
VC中的延时
查看>>
算法与数据结构知识点
查看>>
在单位成功实验的PIX配置
查看>>
centos6.x使用dd命令制作u盘启动
查看>>
如何使用Wireshark抓包
查看>>
mysql 时间函数用法 集合
查看>>
技术宅男既要提升编程技术也要加强沟通能力
查看>>
开源计划--格瓦拉梦想(GUEVARA‘S DREAM)
查看>>
show full columns 和 checking privileges的说明
查看>>
电信网络拓扑图自动布局之总线
查看>>
数据库启动时报ORA-00845错误解决方法
查看>>
查询阿里云存储文件并导出excle 保存到本地
查看>>
WebService-—调用第三方提供的webService服务
查看>>
LVM报错:resize2fs: Bad magic number in super-block
查看>>
从开发到部署会用到的 Docker 命令
查看>>
access数据库转mysql数据库
查看>>