日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > [置頂] 如何使用Ant自動(dòng)構(gòu)建Android版本

[置頂] 如何使用Ant自動(dòng)構(gòu)建Android版本

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-11-11 08:17:37 閱讀次數(shù):3347次


  Ant是1個(gè)很好的跨平臺(tái)構(gòu)建工具,特別是對(duì)Java項(xiàng)目,這里使用它對(duì)Android工程進(jìn)行自動(dòng)化構(gòu)建可以得到非常大的便利。1般來(lái)講對(duì)Android工程進(jìn)行構(gòu)建主要有以下幾個(gè)步驟:

  使用aapt來(lái)編譯工程生成R.java;

  使用aapt來(lái)對(duì)工程所需用的資源進(jìn)行打包;

  轉(zhuǎn)換并編譯AIDL文件;

  編譯Java源文件并生成.class;

  轉(zhuǎn)換并緊縮.class文件成.dex文件;

  使用aapt打包生成未簽名的apk包;

  使用jarsigner對(duì)apk包簽名并得到終究的發(fā)布包。

  關(guān)于這些步驟所需要的實(shí)現(xiàn)細(xì)節(jié)就不再詳述了(網(wǎng)格上各種版本,大多都能使用),這里主要說(shuō)1下對(duì)多個(gè)渠道情況下的apk打包。所謂的多個(gè)渠道1般來(lái)講就需要對(duì)每一個(gè)要發(fā)布的渠道版本進(jìn)行1次上述系列操作,而這多個(gè)渠道的差異通常是可以公共出來(lái)的1些配置信息,比如渠道的編號(hào),愛(ài)加密推出的免費(fèi)APP渠道信息管理平臺(tái),服務(wù)包括渠道數(shù)據(jù)的監(jiān)測(cè),盜版APP的辨認(rèn)和分析,開發(fā)者通過(guò)使用愛(ài)加密渠道監(jiān)測(cè)服務(wù)可以方便的管理APP所有推行渠道,1站掌握所有信息。渠道監(jiān)測(cè)平臺(tái)還可以幫助開發(fā)者第1時(shí)間發(fā)現(xiàn)盜版APP,保護(hù)公司合法權(quán)益。http://www.ijiami.cn/Channels

 

    如此1來(lái)就能夠?qū)⑵浣y(tǒng)1組織到1個(gè)配置文件里邊,在進(jìn)行流程前使用ant的功能對(duì)其進(jìn)行具體的渠道設(shè)置就能夠了,比如:

 

[html] view plaincopy

  1. <replace file="${pathsettingfile}" token="Ant_PathID" value="${_PathID}"/>  

  2. <replace file="${pathsettingfile}" token="Ant_PathName" value="${_PathName}"/>  

 

   其中的_PathID,_PathName均為在ant環(huán)境中定義的變量,其可以是直接從cmd傳入或通過(guò)其它方式來(lái)賦值。這樣在進(jìn)行后續(xù)的編譯時(shí)就能夠直接得到該渠道下的版本。

   另外,還可以將所有渠道的信息統(tǒng)1配置于1xml當(dāng)中,在進(jìn)行構(gòu)建時(shí)直接從其中讀入各個(gè)渠道的信息并賦值到如上的_PathID、_PathName中便可,可以用以下代碼方便實(shí)現(xiàn)(其中觸及xmltask在ant中的使用,這個(gè)可以參考ant的相干資料):

 

[html] view plaincopy

  1. <target name="main">     

  2.     <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>   

  3.         <echo>Starting....</echo>     

  4.         <xmltask source="Paths.xml">     

  5.         <call path="/PathList/PathDetail[@enabled='true']" target="build">  

  6.             <param name="_PathID" path="ID/text()"/>     

  7.             <param name="_PathName" path="Name/text()"/>  

  8.         </call>     

  9.     </xmltask>     

  10. </target>   

  對(duì)應(yīng)的渠道配置xml則基本上以下所示(固然其中可以置入更多的信息)

 

[html] view plaincopy

  1. <?xml version="1.0" encoding="UTF⑻"?>  

  2. <PathList>     

  3.     <PathDetail name="" enabled="true">     

  4.     <ID>11111</ID>  

  5.     <Name>Path_0</Name>  

  6.    </PathDetail>  

  7.    <PathDetail name="" enabled="true">     

  8.     <ID>22222</ID>  

  9.     <Name>Path_1</Name>  

  10.    </PathDetail>  

  11. </PathList>  

   另外,使用Ant的自動(dòng)化構(gòu)建還可以實(shí)現(xiàn)另外1個(gè)重要用處,對(duì)asset中的涉密文件進(jìn)行保護(hù)。這里有1個(gè)簡(jiǎn)單的例子,比如asset中有1些文件對(duì)用戶可視,但卻不希望被用戶修改,這類情況下就能夠在構(gòu)建中加入1個(gè)文件校驗(yàn)的階段,首先將要保護(hù)的文件計(jì)算出對(duì)應(yīng)的MD5簽名,以后再將此簽名寫入到程序代碼中并進(jìn)行編譯構(gòu)建,在程序運(yùn)行時(shí)使用此簽名進(jìn)行校驗(yàn),如果該簽名不匹配那就意味著被用戶修改落后行了重新的打包,此時(shí)程序就能夠有相應(yīng)的操作,這樣就能夠在1定程序上避免用戶對(duì)發(fā)布的Apk包進(jìn)行重新pack并運(yùn)行。

    對(duì)Android app,dex源碼文件安全性是最重要的,因此,這個(gè)dex源碼加密保護(hù)其實(shí)很有必要,在這個(gè)方面,可以做到的有愛(ài)加密這個(gè)平臺(tái),不同類型的利用也有不同的加密保護(hù)方案,詳細(xì)可以在這里了解: http://www.ijiami.cn/appprotect_mobile_games

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲在线免费观看 | 精品99久久久 | 国产福利影院 | 日韩爱情电影免费观看 | 中文天堂视频在线 | 免费欧美精品 | 日本福利在线 | 一级在线视频 | 久久精品国产一区二区 | 国产在线二区 | 国产精品午夜视频 | 日韩欧美一级片 | 久久综合五月天 | 午夜精品久久久久久久蜜桃 | 永久精品 | 999久久| 综合视频一区 | 亚洲成人精品一区 | 国产精品久久久av久久久 | 国产精品精品视频 | 中文字幕一二三 | 久久久久久久亚洲精品 | 精品日日夜夜 | 成人在线一区二区 | 欧美日韩国产精品综合 | 亚洲精品一区二区三区香蕉 | 日韩av毛片在线观看 | 亚洲国产一区二区a毛片 | 在线成人精品国产区免费 | 欧美激情一二三区 | 亚洲精彩视频在线观看 | 欧日韩在线 | 一区二区网站 | 亚洲福利片 | 国产区网址 | 精品粉嫩aⅴ一区二区三区四区 | 黄色在线观看视频免费 | 欧美国产一区二区 | 九九热在线视频观看这里只有精品 | 久久久久国产精品午夜一区 | 日韩区一区二 |