天天看點

使用Ant編譯Android工程(Linux系統)

一、問題

同一套Android代碼,希望通過配置檔案的形式,制作成不同包名的多個package(多包名,多版本号,多市場logo,多廣告商)。

二、解決方法

使用Ant編譯

三、Ant安裝和使用

1.        環境:Ubuntu 10.04

2.        安裝工具

1)       安裝jdk 1.6及android-sdk-linux-r15(見android sdk相關文檔)

2)       安裝ant 1.83版本

由于android-sdk-linux-r15需要ant 1.8.0以上版本,在ubuntu 10.04上使用apt-get自動安裝的版本太低,是以使用源碼包安裝方法

a)        下載下傳

ant最新版(目前為1.8.3)

下載下傳junit-4.9.jar包,ant編譯時需要此包

b)       安裝

$ tar xvzf ../tgz/apache-ant-1.8.3-src.tar.gz

$ cd apache-ant-1.8.3

$ cp /usr/lib/jvm/java-6-sun/lib/junit-4.9.jar lib/optional/

$ export JAVA_HOME=/usr/lib/jvm/java-6-sun

$. build.sh

$. build.sh install

3.        建立工程

1)       列出目标平台ID

$ $ANDROID_SDK_DIR/tools/android list targets

2)       建立新的android工程(效果同使用eclipse建立android工程一緻)

$ $ANDROID_SDK_DIR/tools/android create project –k 包名 –a項目名 –t 目标平台ID –p 路徑

3)       編譯工程

$ ant debug

此時在bin目錄下生成相應的apk檔案

(jar包和so庫都放在libs目錄下即可被打入apk包,位置同android源碼編譯中位置一緻)

4)       在虛拟機中安裝并運作

$ $ANDROID_SDK_DIR/tools/android list avd  

列出所有的AVD

$ $ANDROID_SDK_DIR/tools/emulator –avd 指定AVD名稱

操作模拟器時,鍵盤F2對應菜單鍵,Home鍵對應裝置的Home鍵

$ $ANDROID_SDK_DIR/platform-tools/adb install xxx.apk

在虛拟機中打開應用即可

4.        對原有工程用ant編譯

1)       建立ant編譯腳本build.xml

$ $ANDROID_SDK_DIR/tools/android update project --name 項目名 –t目标平台ID –p 路徑

2)       編譯工程

a)        編譯debug版本

$ ant debug

生成帶debug簽名的apk

b)       生成release版本

$ ant release

生成帶未簽名的apk,之後手動簽名即可

編輯build.properties檔案,其中指定簽名相關資源,可自動簽名

5.        将一套代碼通過簡單配置自動生成多個apk包(此處隻介紹最簡單的方法)

1)       原理

使用 ant –f參數指定運作腳本,在該腳本中修改代碼,資源,腳本的内容,然後再運作ant編譯出相應的apk,原理和手動替換資源一樣。

繼續閱讀