android开发之Ant多渠到混淆打包
2015-05-19 09:31
525 查看
1、首先安装ant ,下载地址http://ant.apache.org/不会安装的可以参考:
Mac: http://blog.csdn.net/zanelove/article/details/45789577
Win: http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html
2、利用Ant批量打包的基本思想是,每次打包后自动替换渠道号,以及自己要替换的参数,比如本demo就要不仅要替换渠道号,一些参数,还要替换图标和启动页面。
问: 这样带来了一个问题:Ant不支持循环,怎样循环打包?
答: 扩展包Ant-contrib能轻松解决这个问题
可以翻墙的同学可以到http://ant-contrib.sourceforge.net/自行下载,或者去我的云空间下载链接: http://pan.baidu.com/s/1qW5d0Ji 密码: da53 ;下载后直接把ant-contrib-1.0b3.jar放到Ant的lib文件夹即可。
3、生成并改写build.xml 执行如下命令
生成builder.xml
此命令在当前的工程目录生成build.xml, -t 表示targetid,可以通过android list targets查看 ; -p 表示指定工程目录.
改写builder.xml
参考Demo中的builder.xml文件,对你的builder文件进行改写!!
链接: http://pan.baidu.com/s/1ntqW2ST 密码: 1fvx
4、生成ant.properties 内容如下:market_channels是用来替换的参数以:和-分割。
5、project.properties文件中打开混淆代码,去掉下面所在行的#
6、编写proguard-project.txt,demo中有,大家自行删减
6、执行命令ant deploy就慢慢等待生成的多渠道的apk吧
7、最后在目录/Users/frank/Documents/publish_testbyfrank_bin下生成了两个apk: testbyfrank_xiguang.apk 和testbyfrank_xinzhi.apk
8、注意事项及可能遇到的问题
工程如果引用到其它类库工程,请先生成类库的build.xml。
如果提示invalid resource directory name: /Users/frank/Documents/workspace/appcompat_v7/bin/res/crunch等类似的错误请先手动删除bin目录,重新执行ant deploy命令。
如果出现Can’t read [/Users/frank/Documents/workspace/testbyfrank/libs/Android_Location_V1.1.0.jar] (No such file or directory)类似的错误,表明你没有用到这个类库,请在混淆文件中去掉对应的即可。
如果xml文件有用到自定义的控件,对应的java文件不能混淆。
如果用的gson的库,对应的实体类不可以混淆。
使用Ant批量打包Android应用完全指南:http://www.tuicool.com/articles/IvAnyy
Mac: http://blog.csdn.net/zanelove/article/details/45789577
Win: http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html
2、利用Ant批量打包的基本思想是,每次打包后自动替换渠道号,以及自己要替换的参数,比如本demo就要不仅要替换渠道号,一些参数,还要替换图标和启动页面。
问: 这样带来了一个问题:Ant不支持循环,怎样循环打包?
答: 扩展包Ant-contrib能轻松解决这个问题
可以翻墙的同学可以到http://ant-contrib.sourceforge.net/自行下载,或者去我的云空间下载链接: http://pan.baidu.com/s/1qW5d0Ji 密码: da53 ;下载后直接把ant-contrib-1.0b3.jar放到Ant的lib文件夹即可。
3、生成并改写build.xml 执行如下命令
生成builder.xml
android update project --name 项目名称 -t 1 -p 项目路径 如: android update project --name AntTest -t 1 -p /Users/xx/Documents/workspace/AntTest
此命令在当前的工程目录生成build.xml, -t 表示targetid,可以通过android list targets查看 ; -p 表示指定工程目录.
改写builder.xml
参考Demo中的builder.xml文件,对你的builder文件进行改写!!
链接: http://pan.baidu.com/s/1ntqW2ST 密码: 1fvx
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
8、注意事项及可能遇到的问题
工程如果引用到其它类库工程,请先生成类库的build.xml。
如果提示invalid resource directory name: /Users/frank/Documents/workspace/appcompat_v7/bin/res/crunch等类似的错误请先手动删除bin目录,重新执行ant deploy命令。
如果出现Can’t read [/Users/frank/Documents/workspace/testbyfrank/libs/Android_Location_V1.1.0.jar] (No such file or directory)类似的错误,表明你没有用到这个类库,请在混淆文件中去掉对应的即可。
如果xml文件有用到自定义的控件,对应的java文件不能混淆。
如果用的gson的库,对应的实体类不可以混淆。
使用Ant批量打包Android应用完全指南:http://www.tuicool.com/articles/IvAnyy
相关文章推荐
- android开发使用SDK与ANT实现自动打包(混淆、签名)
- android 应用 Ant脚本自动编译、打包、代码混淆、签名、安装等
- 在Android开发中使用Ant 二:进行一次完整的打包
- android 混淆和android ant打包
- android ant 最简单的打包签名,混淆方法
- android ant 打包全过程 包含library,so,jar,混淆,签名
- android开发之应用打包签名混淆流程
- Android 混淆打包 ant
- 在Android开发中使用Ant 三:批量打包
- 用ant实现自动打包android(二) -- android代码混淆
- [置顶] Android开发之反编译、apk重新打包、apk混淆、apk对齐与不对齐、jar混淆、proguard
- android ant多渠道混淆打包
- 使用Mac版Eclipse开发Android程序混淆签名打包的一个报错解决方法
- android开发笔记之 Android代码混淆打包
- android ant 最简单的打包签名,混淆方法
- android ant 最简单的打包签名,混淆方法
- Ant android各渠道批量打包混淆
- android ant 最简单的打包签名,混淆方法
- (转)移动开发:Ant自动化打包APK(1)--ANT,Android 环境配置与打包
- android开发步步为营之10:代码签名混淆后编译和打包