Build Android apk 流程

最快產生 apk 的方式當然是用 IDE 匯出就好,但因為我要用客製化的 android.jar 來編譯,還要讓 jenkins Server 能自己 build apk,所以必須要了解 build apk 的流程。

在 Andoid 專案下看到 build.xml 那就八九不離十是用 ants 來做這件事,點進去看大概的思考邏輯就是:

  • 會 import Android SDK 的 build.xml,檔案位置會在 ${android_sdk}/tools/ant/build.xml
  • 可以利用 ant 命令列帶參數覆寫 property
  • 可以建立 ${你的專案}/ant.properties 來覆寫 property
  • 覆寫 Android SDK 的 build.xml 裏的 target
  • 新增 Android SDK 的 build.xml 裏的 target
到 ${android_sdk}/tools/ant/build.xml 最下面可以看到定義好的所有 target,很明顯要包 apk 需要執行 release 這個 target,執行成功可以看到以下 target 被執行的過程為:
  1. -set-mode-check:
  2. -set-release-mode:
  3. -release-obfuscation-check:
  4. -pre-build:
  5. -check-env:
  6. -setup:
  7. -build-setup:
  8. -code-gen:
  9. -pre-compile:
  10. -compile:
  11. -post-compile:
  12. -obfuscate:
  13. -dex:
  14. -crunch:
  15. -package-resources:
  16. -package:
  17. -post-package:
  18. -release-prompt-for-password:
  19. -release-nosign:
  20. -release-sign:
  21. -post-build:
  22. release
這些都搞定之後,就可以根據自己的需求來 修改 property 或是 覆寫 target,這裏才是地獄的開始,Good Luck!

PS:利用指令自動產生專案跟 ants 相關的檔案 > android update project -p ${你的專案}

參考:

2 則回應:

匿名 提到...

How to sign my android project in jenkins?
http://stackoverflow.com/questions/21600570/how-to-sign-my-android-project-in-jenkins

[ 小黑宅 ] 提到...

Android项目自动生成build.xml,用Ant打包
http://www.cnblogs.com/liuyue0802/p/3349931.html