android開發之Ant多渠到混淆打包

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
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 表示指定工程目錄.

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、注意事項及可能遇到的問題

  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的庫,對應的實體類不可以混淆。

使用Ant批量打包Android應用完全指南:http://www.tuicool.com/articles/IvAnyy

發佈了93 篇原創文章 · 獲贊 8 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章