Ant自動打包

 Ant使用html

 

在ant的官網http://ant.apache.org進行下載後apache-ant-1.8.2java

解壓(存放的路徑不要有中文字符)android

把ant裏的lib設置到環境變量:E:\Android\apache-ant-1.8.2\libapache

這樣在命令行裏就能夠直接使用antwindows

學習資料:
1.  ant使用指南.rar服務器

2. 文檔:apache-ant-1.8.2/docs/manual/index.html下的Ant Tasks à List of Taskseclipse

 

 

Ant的For循環

 

在ant的核心包裏沒有相關的For循環的Task,要下載相應的擴展包,已經有人寫過了。svn

擴展包:Ant-contrib包就是一個裏面有For循環的擴展包。學習

下載地址:http://ant-contrib.sourceforge.net/ui

使用這個擴展包中的for循環的介紹:http://enjoyyou.blog.hexun.com/41449457_d.html

把ant-contrib裏的lib包複製到apache-ant-1.8.2\lib下面,就能夠了

 

 

混淆proguard

 

混淆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裏的項目(svnant)

 

由於咱們的項目是用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文檔,能夠知道怎麼使用

 

寫腳本,佈署項目

 

    1. 在項目裏要加入幾個文件(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,這樣就不會終止編譯過程了。
    2.  寫ant腳本和配置文件(build.xml, build.properties)

       a). build.properties是一個屬性文件,是一些打包的配置文件



       

      b). build.xml文件的寫法:
















    3. 使用:只要打開命令行,進入這個目錄,一個ant命令就行。

相關文章
相關標籤/搜索