為了自動化建置的需求, 原先經由 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 就好其他不必安裝
下載完成後在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