分類
Uncategorized

使用 ant 手動產生 unsign apk

為了自動化建置的需求, 原先經由 Eclipse 產生 unsign apk 的方式必須改成手動產生
雖然在官網上有教學, 但過程中發生的問題卻隻字未提, 這篇就把發生的問題和解決過程紀錄下來
 
要產生 unsign apk, 根據官網所述, 只要移動到該專案目錄下並輸入

ant release

即可,在專案的bin資料夾就會產生unsign apk, 但沒有ant就不用玩了,所以先安裝 ant 吧, 輸入

sudo apt-get install ant

安裝完成後再輸入 ant release, 會出現

Buildfile: build.xml does not exist!
Build failed

是的, 必須要有 build.xml, 輸入以下指令來產生 build.xml

android update project -p .

注意: android 指的是在sdk/tools/ 下的 android , 必要的話請使用完整路徑來指定吧
完成後在專案目錄下就會產生build.xml
有了build.xml 再輸入 ant release 看看吧,出現

BUILD FAILED
/android-sdk-linux/tools/ant/build.xml:483: The SDK Build Tools revision (18.0.1) is too low for project 'MainActivity'. Minimum required is 19.1.0

果然~沒這麼簡單, 根據錯誤訊息去尋找 sdk/build-tools/ 真的只有18.0.1 資料夾,好吧~開啟eclipse sdk manager 更新 buildtool,
注意:只要勾選 19.0.1 就好其他不必安裝
螢幕擷圖存為 2014-11-27 16:18:36
下載完成後在sdk/build-tools/ 也會出現19.1.0 資料夾,再輸入 ant release 吧,出現

BUILD FAILED
/android-sdk-linux/tools/ant/build.xml:601: Invalid file: /appcompat_v7/build.xml

奇怪~ 怎會跑出 appcompat_v7的build.xml, 檢查專案目錄下的project.properties,發現原專案會參考到appcompat_v7這個專案,再google一下
原因是使用eclipse更新建置版本,會出現”無限重生appcompat_v7的現象”,解決方法就是初始建立專案時,最低SDK版本(Minimum Required SDK)指定為 API 14(即 Android 4.0)
解決之後再輸入ant release
終於

BUILD SUCCESSFUL
Total time: 6 seconds

完成之後在專案目錄下的bin資料夾會出現
xxx-release-unsigned.apk , 就是unsign key 的apk