惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

蒲公英

蒲公英 502 了 - V2EX 为什么你的 App 不够完美 ——搜索&文本框篇 - V2EX 你的 App 与完美近在咫尺,相隔的只有这些问题 ——注册登录篇 - V2EX [Bug 管理云] 将你的项目和 Github / Bitbucket 的代码库关联起来! - V2EX 深入浅出 App 端安全漏洞之任意调试漏洞、中间人劫持漏洞及加密算法漏洞 - V2EX 大选日来临!邮件门阴霾仍未散去,每个人都该检查自己的邮箱,和 APP - V2EX Android 开发 APP 端常见安全漏洞解读——敏感信息泄露漏洞 - V2EX 从单独应用扩散到整个行业,问题本质是金融类 APP 的安全 - V2EX 你的 Android HTTPS 真的安全吗? - V2EX 可能比炸机还恐怖, Android 系统 APP 的那些安全隐患你了解吗 - V2EX 蒲公英平台用法的最佳实践(Android 篇) - V2EX
Ant 多渠到混淆打包 - V2EX
pgyer · 2015-05-14 · via 蒲公英

最近刚忙完了一个项目,本以为可以好好放松一下了,没想到客户提了一个变态的要求,同时要打包上线100多个渠道,需要替换图标,启动页还有一堆烦人的参数,粗略估计一个一个打包,至少两天时间,真是醉了。心中一阵草泥马飞过之后,想着自己的尾款还没到账,只能硬着头皮搞一个自动化的打包脚本。

1、首先安装ant ,下载地址http://ant.apache.org/不会安装的可以参考http://yarin.blog.51cto.com/1130898/692569。

2、利用Ant批量打包的基本思想是,每次打包后自动替换渠道号,以及自己要替换的参数,比如本demo就要不仅要替换渠道号,一些参数,还要替换图标和启动页面。

这样带来了一个问题:Ant不支持循环,怎样循环打包?

扩展包Ant-contrib能轻松解决这个问题

可以翻墙的同学可以到http://ant-contrib.sourceforge.net/自行下载,或者去我的云空间下载http://pgyer.qiniudn.com/ant-contrib-1.0b3.jar,下载后直接把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已经经过我的测试没有问题,大家可以通过http://pgyer.qiniudn.com/testbyfrank.zip下载示例代码。

注意事项及可能遇到的问题

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的库,对应的实体类不可以混淆。