文档开发者中心
我的

【原创】Ant 多渠到混淆打包

最近刚忙完了一个项目,本以为可以好好放松一下了,没想到客户提了一个变态的要求,同时要打包上线100多个渠道,需要替换图标,启动页还有一堆烦人的参数,粗略估计一个一个打包,至少两天时间,真是醉了。心中一阵*马飞过之后,想着自己的尾款还没到账,只能硬着头皮搞一个自动化的打包脚本。
1、首先安装ant ,下载地址不会安装的可以参考。
2、利用Ant批量打包的基本思想是,每次打包后自动替换渠道号,以及自己要替换的参数,比如本demo就要不仅要替换渠道号,一些参数,还要替换图标和启动页面。
这样带来了一个问题:Ant不支持循环,怎样循环打包?
扩展包Ant-contrib能轻松解决这个问题
可以翻墙的同学可以到自行下载,或者去我的云空间下载,下载后直接把ant-contrib-1.0b3.jar放到Ant的lib文件夹即可。
3、生成并改写build.xml 执行如下命令
android update project --name testbyfrank -t 1 -p /Users/frank/Documents/workspace/testbyfrank
此命令在当前的工程目录生成build.xml, -t 表示targetid 可以通过android list targets查看 -p 指定工程目录
修改build.xml 代码见demo
4、生成ant.properties 内容如下:market_channels是用来替换的参数以:和-分割。
java.encoding=utf-8
out.absolute.dir=/Users/frank/Documents/publish_testbyfrank
gos.path=/Users/frank/Documents/publish_testbyfrank_bin
proguard.config=proguard.cfg
app_version=1.5
market_channels=\u65B0\u77E5:60-xinzhi,\u897F\u5149:18-xiguang
5、project.properties文件中打开混淆代码,去掉下面所在行的#
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
6、编写proguard-project.txt,demo中有,大家自行删减
6、执行命令ant deploy就慢慢等待生成的多渠道的apk吧
7、最后在目录/Users/frank/Documents/publish_testbyfrank_bin下生成了两个apk
testbyfrank_xiguang.apk 和testbyfrank_xinzhi.apk
自己抽离出来的demo已经经过我的测试没有问题,大家可以通过下载示例代码。
注意事项及可能遇到的问题
1.工程如果引用到其它类库工程,请先生成类库的build.xml
2.如果提示invalid resource directory name: /Users/frank/Documents/workspace/appcompat_v7/bin/res/crunch等类似的错误请先手动删除bin目录,重新执行ant deploy命令
3.如果出现Can't read [/Users/frank/Documents/workspace/testbyfrank/libs/Android_Location_V1.1.0.jar] (No such file or directory)类似的错误,表明你没有用到这个类库,请在混淆文件中去掉对应的即可。
4.如果xml文件有用到自定义的控件,对应的java文件不能混淆
5.如果用的gson的库,对应的实体类不可以混淆。

点赞
收藏
4
回复
4
分享
举报
浏览3629 编辑于2015-05-19 06:17未知归属地
全部评论
最多点赞
最新发布
最早发布
吉祥天__ 发表于 2015-5-19 14:17
热烈欢迎来论坛发表,各类与开发者相关的大作噢~  版主加精华了

谢谢版版关爱{:6_137:}
4楼回复于2015-05-19 08:34 未知归属地
{:6_139:} 热烈欢迎来论坛发表,各类与开发者相关的大作噢~ 版主加精华了
3楼回复于2015-05-19 06:17 未知归属地
吉祥天__ 发表于 2015-5-13 17:52
欢迎原创,分享交流好的工作方法、经验及工具。盟友可根据帖子对自己的帮助度,给作者加积分和花瓣等。{:7_ ...

是原创帖版版
2楼回复于2015-05-15 09:11 未知归属地
欢迎原创,分享交流好的工作方法、经验及工具。盟友可根据帖子对自己的帮助度,给作者加积分和花瓣等。{:7_177:} 网友反馈热烈的帖子我们还可以加精,并按季度评选技术达人噢~
1楼回复于2015-05-13 09:52 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。