微軟宣布.NET開源:Visual 微軟開源軟件
2024-03-29
更新時(shí)間:2024-03-29 00:17:36作者:未知
配置Ant環(huán)境
下載Ant:http://ant.apache.org/bindownload.cgi
在windows上應(yīng)該選擇zip壓縮包,將zip壓縮包解壓到一個(gè)目錄。
打開系統(tǒng)環(huán)境變量,在系統(tǒng)變量欄點(diǎn)擊新建,變量名輸入“ANT_HOME”,變量值為Ant的根目錄,如“D:/Android/apache-ant-1.9.0”,注意不要帶雙引號(hào)。
在系統(tǒng)變量中找到Path變量,點(diǎn)擊編輯,在變量值的最后添加“%ANT_HOME%/bin”,注意不要帶雙引號(hào),并且要使用“;”和之前的變量值隔開。
打開一個(gè)cmd窗口,輸入“ant”,如果顯示一下信息,說明Ant的環(huán)境配置成功,如果顯示:'ant' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。則要檢查一下路徑是否有問題。
在Eclipse中配置Ant
在eclipse中使用Ant之前,為了使Ant的build.xml文件能夠安裝制定的格式進(jìn)行縮進(jìn)和高亮顯示,并能夠進(jìn)行代碼提示,首先要簡(jiǎn)單的設(shè)置一下。
打開Windows - Preferences,依次展開General,Editors,選中File Associations,點(diǎn)擊Add...,在Add File Type對(duì)話框中輸入build.xml,點(diǎn)擊Ok。
接下來在File type:欄選中build.xml,在Associated Editor:欄選中Ant Editor,點(diǎn)擊Default,build.xml的圖標(biāo)變成了一個(gè)小螞蟻,配置完畢。
使用Ant編譯Android的java代碼和native代碼
新建一個(gè)Android工程TestAnt,在工程的根目錄下新建一個(gè)build.xml文件
輸入以下內(nèi)容:
<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="init"> <target name="init"> <fail message="Ant 1.7.0 or higher is required."> <condition> <not> <antversion property="ant.version" atleast="1.7.0" /> </not> </condition> </fail> </target> </project>
打開cmd,切換到工程根目錄,輸入ant init
編譯成功,來解析這個(gè)build.xml:
<project name="TestAnt" default="init">
project是Ant工程的根節(jié)點(diǎn),name屬性是工程的名稱,default是默認(rèn)執(zhí)行的target,init為默認(rèn)的target,當(dāng)我們輸入Ant的時(shí)候和Ant init是一樣的效果。
<target name="init"> <fail message="Ant 1.7.0 or higher is required."> <condition> <not> <antversion property="ant.version" atleast="1.7.0" /> </not> </condition> </fail> </target>
target指定了要執(zhí)行的操作,init是我們?yōu)檫@個(gè)target所起的名字,也可以是build,clean等等。在這個(gè)target中,執(zhí)行的是檢查Ant的版本,如個(gè)小于1.7.0的話會(huì)輸出報(bào)錯(cuò)信息。
例如我們可以添加一個(gè)clean的target
<target name="clean"> <echo message="Deleting temporary files..." /> <delete dir="gen" /> <delete dir="bin" /> <delete dir="out" /> <delete dir="obj" /> <echo message="DONE (Deleting temporary files)" /> </target>
執(zhí)行的操作是刪除所有臨時(shí)目錄,在cmd窗口中輸入Ant clean,這四個(gè)臨時(shí)目錄就會(huì)被刪除,和在eclipse中執(zhí)行清理是一個(gè)效果。
使用Ant編譯Android工程
在SDK中,Google已經(jīng)為我們寫好了一個(gè)build.xml文件,就是sdk根目錄/tools/ant/build.xml,所以我們只要把這個(gè)build.xml引入就可以編譯Android工程了。
在這之前首先要新建一個(gè)local.properties文件,引入sdk和ndk的路徑
輸入一下內(nèi)容:
sdk.dir=D://Android//android-sdk
ndk.dir=D://Android//android-ndk
分別為sdk和ndk的路徑,要安裝自己的實(shí)際路徑進(jìn)行配置。
在測(cè)試工程的build.xml中輸入一下代碼:
<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="release"> <loadproperties srcFile="local.properties" /> <loadproperties srcFile="project.properties" /> <fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="sdk.dir" /> <fail message="ndk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="ndk.dir" /> <import file="${sdk.dir}/tools/ant/build.xml" /></project>
在命令行中執(zhí)行ant release或ant debug,就會(huì)執(zhí)行對(duì)應(yīng)的編譯。
以上只是進(jìn)行Java代碼的編譯,如何編譯native代碼呢,在NDK中Google可沒有提夠build.xml,這就需要我們自己實(shí)現(xiàn)。在新版NDK中,我們只要在命令行中切換到工程的根目錄,然后執(zhí)行
“D:/Android/android-ndk/ndk-build.cmd”(紅色部分要替換成自己的路徑)
就可以,例如,在TestAnt工程中添加native代碼,參考http://www.cnblogs.com/sw926/p/3232311.html
執(zhí)行ndk-build
所以我們只要在Ant中執(zhí)行一個(gè)cmd命令就可以了,在build.xml中添加
<target name="native"> <echo message="Building native libraries..." /> <exec executable="${ndk.dir}/ndk-build.cmd" failonerror="true" /> <echo message="DONE (Building native libraries)" /> </target>
然后在命令行中執(zhí)行ant native
執(zhí)行了ndk-build。
以上介紹的都是使用Ant進(jìn)行進(jìn)步的Android編譯操作,在此基礎(chǔ)上可以實(shí)現(xiàn)更復(fù)雜的操作,比如批量替換資源文件,批量打包等等。
build.xml參考了FBReader。