多模块打包android,干货 | Android Studio多模块的SDK项目打包和混淆

原标题:干货 | Android Studio多模块的SDK项目打包和混淆

#点击上图,立即参与OSC珠海源创会#

#微博转发源创会活动,抢OSC超值纪念品#

任务中遇到的难题

1.SDK项目多模块,编译后每个模块自己生成了1个jar包。但是需求是只对外发布一个jar包,需要进行合并多个jar包。

2.生成的jar包中因为模块引入了百度地图定位导致jar包内有不需要的asset文件杂项。

3.多模块的混淆问题。

解决方案

每个模块在编译之后都会在XXX/build/intermediates/bundles/release/classes.jar 路径下生成jar包

使用如下脚本可协助你合并多个jar包 (路径问题自己解决哈)

#!/bin/sh

#进入输出目录

cd output

#清空输出目录

rm -rf *

#创建输出子目录

mkdir temp

mkdir release

#定义sdk版本号

version="1.0.0"

#定义模块是否打包标识

is_include_wifidao=true

is_include_location=true

is_include_interactive=true

is_include_wificonnect=true

#省略其他...

#解压所有release版本的jar包到temp目录中

cd temp

if $is_include_wifidao; then

jar -xvf ../../wifidao/build/intermediates/bundles/release/classes.jar

fi

if $is_include_location; then

jar -xvf ../../location/build/intermediates/bundles/release/classes.jar

fi

if $is_include_interactive; then

jar -xvf ../../interactive/build/intermediates/bundles/release/classes.jar

fi

if $is_include_wificonnect; then

jar -xvf ../../wificonnect/build/intermediates/bundles/release/classes.jar

fi

#压缩所有release版本的class文件到一个独立的jar包中

jar -cvfM SDK_${version}_release.jar .

#拷贝文件

mv SDK_${version}_release.jar ../release

#清空temp目录

rm -rf *

#删除temp目录

cd ..

rm -rf temp

第二个问题解决方案,将第三方库 单独新建一个模块来存放,然后在引入隔绝需要打包的模块中直接引入第三方库。 (因为发现AS中不会将其他模块的东西编译进另外一个模块得到的启发)

eb93d995c4f86f71cd8bf423a0686959.png

第三个问题,解决方案在合并为一个jar包之后,利用Android SDK自带的混淆工具将混淆配置导入,进行混淆。

需要注意:混淆时候记得导入依赖的第三方库/V4包/ Android SDK/

例如:

Android SDK /usr/local/coding/env/android_sdk_linux/platforms/android-23/android.jar

V4包 /home/lin/文档/git_repo/zhonglianSDK/output/support-v4-23.2.0-sources.jar

volley

百度地图定位

gson

点底下Load configuration就可以导入 proguard-rules.pro文件 然后根据情况修改下即可,还可以保存配置~具体用法自己可以再查哈

16a469dfe9a84a0beaf1d63e2865409e.png

了解更多详情请点击“阅读原文”

dbc7b323964a021844b14baeca0b1c1c.png

开源中国|ID:oschina2013

每天为你送上精选资讯早点

还有每天的 OSChina 乱弹哦返回搜狐,查看更多

责任编辑:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值