整理的Unity導(dǎo)出安卓工程利用ANT進(jìn)行多渠道批量打包APK

Unity導(dǎo)出的安卓工程利用ant進(jìn)行多渠道循環(huán)批量打包

一:設(shè)置JAVA環(huán)境變量

做android開發(fā)的配置這個是基礎(chǔ)赡茸。

http://www.cnblogs.com/zhj5chengfeng/archive/2013/01/01/2841253.html

二:配置Android的SDK環(huán)境變量

除了需要Java的環(huán)境變量昔逗,我們還需要配置Android的sdk的位置,名字是ANDROID_HOME裕循,值就是你的android的sdk的位置,比如我的容客,就如下所示:


二:安裝ant并設(shè)置ant環(huán)境變量

1凛驮、在Ant官網(wǎng)(http://ant.apache.org/bindownload.cgi)下載最新Ant包棒假,在http://sourceforge.net/projects/ant-contrib/files下載Ant擴(kuò)展包ant-contrib-1.0b3.jar(這個包就是用于循環(huán)編譯多個渠道包)。

2烂瘫、將Ant包解壓到常用開發(fā)工具目錄(自行選擇媒熊,我的放在D:/Dev目錄下),然后將下載下來的Ant擴(kuò)展包ant-contrilb拷貝到Ant安裝目錄下的lib文件夾中奇适。

3、設(shè)置Ant環(huán)境變量:ANT_HOME芦鳍,變量值指向ant目錄嚷往。


4、在環(huán)境變量Path里增加:%ANT_HOME%/bin;%ANT_HOME%/lib;


5柠衅、設(shè)置好了之后驗證一下皮仁。打開CMD輸入ant -version命令出現(xiàn)下面反饋,說明ant安裝成功


三菲宴、配置打包項目

Unity中導(dǎo)出Android項目


導(dǎo)出項目文件目錄如下:


導(dǎo)入到Eclipse中


在AndroidMainfest.xml中的application標(biāo)簽下添加一個用來識別渠道的標(biāo)簽

如果出現(xiàn)問題贷祈,修改之后彈出錯誤,請選擇快速修正

1喝峦、生成build.xml文件

打開cmd并進(jìn)入到C:\Users\Administrator\Desktop\Test\4\com.game.qq這個項目目錄下 使用android update project -n com.game.qq -p .命令(注意-n表示項目的名稱,-p參數(shù)后面有個點表示當(dāng)前目錄势誊,-p后面還有一個點(.))。

注意:如果是Unity打包出來的Android工程谣蠢,-n后面加入的名稱一定要與Unity中PlayerSetting-BundleIdentifier中的名稱一致


執(zhí)行這個命令后粟耻,會在項目中自動生成build.xml和local.properties文件。

編輯build.xml文件


"${sdk.dir}/tools/ant/build.xml"/>

"out.unaligned.dir"value="C:/Users/Administrator/Desktop/Test/4/"/>

"${out.unaligned.dir}"/>

"modify_update_file">

***********************

make channel ${channel}

"AndroidManifest.xml"

match='channel'

replace='${channel}'

byline="false"

encoding="utf-8"

/>


"out.unaligned.file"location="${out.unaligned.dir}/HelloWorld_${app_version}_${channel}_android.apk"/>

"make_one_channels"depends="savemanifest,modify_update_file,release,replacemanifest,deletebin"description="description">

"replacemanifest">

***********************

replacemanifest

"${basedir}\AndroidManifest.xml"/>

"..\temp\build\META-INF\AndroidManifest.xml"todir="${basedir}"encoding="utf-8"/>

"savemanifest">

***********************

savemanifest

"${basedir}\AndroidManifest.xml"todir="..\temp\build\META-INF"encoding="utf-8"/>

"deletebin">

"${basedir}\bin"/>


"foreach"classname="net.sf.antcontrib.logic.ForEach"classpath="D:/AndroidSDK/tools/lib/ant-contrib-1.0b3.jar"/>

"make_channels">

"make_one_channels"list="${market_channels}"delimiter=","param="channel">

打包的過程:

(1)第36行make_channels的target是ant的入口眉踱,該target中使用foreach循環(huán)調(diào)用名為make_one_channels的target(第17行)并把market_channels集合中的每個值替換給channel

(2)make_one_channels的target指定了每次打包的過程:

savemanifest:打包前先將原始的AndroidManifest.xml復(fù)制到與項目同一層級目錄下的temp下build下META-INF中

modify_update_file:匹配到AndroidManifest.xml中的channel并將其替換

release:自動編譯加簽名

replacemanifest:刪除AndroidManifest.xml挤忙,將temp/build/META-INF中的原始AndroidManifest.xml復(fù)制回項目根目錄下

deletebin:刪除bin文件(:這步很重要,否則只能打出一個渠道的APK勋锤,當(dāng)時做這塊的時候碰到的問題)

打包方法的使用

打開cmd終端饭玲,執(zhí)行cd C:\Users\Administrator\Desktop\Test\4\com.game.qq

注意在運(yùn)行之前要注意先clean一下項目,不然可能會報錯誤,切記H础G牙濉!谈宛!

需要在cmd終端次哈,項目目錄路徑下執(zhí)行ant clean

BUILD?FAILED

D:\AndroidSDK\tools\ant\build.xml:649: The following error occurred while executing this line:

D:\AndroidSDK\tools\ant\build.xml:694: return 1




然后執(zhí)行

ant make_channels

如果項目中引入了第三方工程library,比如我的項目吆录,引入三個第三方工程:

如果執(zhí)行打包命令窑滞,那么會報錯,這是因為那個library 還不支持ant自動編譯恢筝,我們需要先讓它也支持(注意:第三方工程要設(shè)置為Lib:

project->properties->Android->Library->Is Library 這個勾選上)哀卫。

進(jìn)入到library項目所在的目錄,輸入命令 android update lib-project -p ./ ?(注意是 lib-project)撬槽;

執(zhí)行完之后此改,你會發(fā)現(xiàn)第三方工程目錄下多了build.xml文件和local.properties文件。然后你在執(zhí)行打包命令就可以成功打包了侄柔。


查看結(jié)果


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末共啃,一起剝皮案震驚了整個濱河市占调,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌移剪,老刑警劉巖究珊,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纵苛,居然都是意外死亡剿涮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門攻人,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幔虏,“玉大人,你說我怎么就攤上這事贝椿。” “怎么了陷谱?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵烙博,是天一觀的道長。 經(jīng)常有香客問我烟逊,道長渣窜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任宪躯,我火速辦了婚禮乔宿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘访雪。我一直安慰自己详瑞,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布臣缀。 她就那樣靜靜地躺著坝橡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪精置。 梳的紋絲不亂的頭發(fā)上计寇,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音脂倦,去河邊找鬼番宁。 笑死,一個胖子當(dāng)著我的面吹牛赖阻,可吹牛的內(nèi)容都是我干的蝶押。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼政供,長吁一口氣:“原來是場噩夢啊……” “哼播聪!你這毒婦竟也來了朽基?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤离陶,失蹤者是張志新(化名)和其女友劉穎稼虎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體招刨,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡霎俩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了沉眶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片打却。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谎倔,靈堂內(nèi)的尸體忽然破棺而出柳击,到底是詐尸還是另有隱情,我是刑警寧澤片习,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布捌肴,位于F島的核電站,受9級特大地震影響藕咏,放射性物質(zhì)發(fā)生泄漏状知。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一孽查、第九天 我趴在偏房一處隱蔽的房頂上張望饥悴。 院中可真熱鬧,春花似錦盲再、人聲如沸西设。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽济榨。三九已至,卻和暖如春绿映,著一層夾襖步出監(jiān)牢的瞬間擒滑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工叉弦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留丐一,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓淹冰,卻偏偏與公主長得像库车,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子樱拴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容