ant使用
在ant的官網http://ant.apache.org進行下載下傳後apache-ant-1.8.2包
解壓(存放的路徑不要有中文字元)
把ant裡的lib設定到環境變量:e:\android\apache-ant-1.8.2\lib
這樣在指令行裡就可以直接使用ant
學習資料:
1. ant使用指南.rar
2. 文檔:apache-ant-1.8.2/docs/manual/index.html下的ant tasks à list of tasks
在ant的核心包裡沒有相關的for循環的task,要下載下傳相應的擴充包,已經有人寫過了。
擴充包:ant-contrib包就是一個裡面有for循環的擴充包。
下載下傳位址:http://ant-contrib.sourceforge.net/
使用這個擴充包中的for循環的介紹:http://enjoyyou.blog.hexun.com/41449457_d.html
把ant-contrib裡的lib包複制到apache-ant-1.8.2\lib下面,就可以了
混淆proguard是一個開源項目,ant自動打包的過程用的就是這個開源項目,在android-sdk-windows\tools目錄下有一個proguard檔案夾,裡面就有這相應的jar包
android sdk裡自帶的proguard jar包有一個bug,對于一些方法在混淆時會報異常,要解決這個bug,隻需要去proguard的官網http://proguard.sourceforge.net/下載下傳最新的jar包proguard4.6
下載下傳下來後,用proguard4.6\lib裡的jar包替換android-sdk-windows\tools\proguard\lib裡的jar,用proguard4.6\lib\bin裡的以.bat結尾的檔案替換android-sdk-windows\tools\proguard\bin裡的檔案
因為我們的項目是用svn來進行托管,是以需要用ant來下載下傳最新代碼,根據伺服器所用的svnservice的版本去svnant的官網http://subclipse.tigris.org/svnant.html 下載下傳svnant的版本,我用的是:svnant-1.1.0-rc2
然後隻要把svnant-1.1.0-rc2\lib裡的jar包複制到apache-ant-1.8.2\lib裡就可以了
在下載下傳下來的jar裡,有相應的doc文檔,可以知道怎麼使用
在項目裡要加入幾個檔案(build.properties, build.xml, local.properties, proguard.cfg), 怎樣得到這些檔案了,隻需要用指令建立一個android項目,就可以得到這些檔案(這些檔案對于不同的項目,基本上是一樣的):

現在來說說這幾個檔案:
1). build.xml檔案:這個檔案是ant運作時腳本,這是一個固定的模闆,其中主要需要變動的是:<project name="myandroidapp" default="help">裡的name屬性,這個屬性的唯一作用是用于命名生成的apk檔案(如myandroidapp-release.apk);但注意,這個檔案不要在eclipse裡打開,如果打開了會報錯,解決辦法隻有把這個檔案先删除再複制進去。
2). build.properties檔案:這是一個屬性檔案,可以更改編譯時的一些屬性,我主要用到的是下面幾個屬性
jar.libs.dir表示如果你引用的第三方jar包的路徑,其default=libs
java.encoding表示檔案的編碼,其default=gbk
key.store表示key的路徑,如:xx/xxxx.keystore
key.alias表示key的别名,這個别名不要帶路徑
key.store.password, key.alias.password就不用說了。
3). local.properties檔案:這個也是一個屬性檔案,其中用于記錄sdk.dir的路徑
4). proguard.cfg檔案:這個是混淆配置檔案,其中的大部分是都是一樣的,隻要根據模闆走就行了,其中主要是注意兩點:
*. -keep class * extends android.view.view 這個表示自定義的view對象不做混淆,其預設情況下是沒有的,但這個必須要寫,因為我們會在xml檔案裡使用其全路徑
*. -dontwarn com.mapbar.android.**這名話很重要,如果我們使用了第三方的jar包,編譯時也會對第三方的jar進行混淆,如果第三方法的jar包裡有類所關聯的類沒有加入到這個jar包中,則在編譯時,會warn,而且這個warn會讓編譯過程終止。而這句話的意思是,不要抛出字首為com.mapbar.android的warn,這樣就不會終止編譯過程了。
寫ant腳本和配置檔案(build.xml, build.properties)
a). build.properties是一個屬性檔案,是一些打包的配置檔案
b). build.xml檔案的寫法:
使用:隻要打開指令行,進入這個目錄,一個ant指令就行。
轉自:http://handsomeliuyang.iteye.com/blog/1156070