Android and Ant - 1. 環境設置

紀錄在 Android SDK 環境下,如何使用 Ant script 編譯、打包多個 APK。

過去開發 Android App 大都使用 Eclipse 加上 Android SDK,編譯過程也是透過 Eclipse 的整合開發環境進行,最近因工作需要,必需編譯、打包多種版本的 APK,因此開始研究從 command line 執行這些操作,希望可以藉由 script 完成自動化、大量、重複的流程。

由於 Android SDK 內部已經整合了(寫好)Ant script 來做這些事情,因此需要的是知道怎麼使用它,並藉這機會學習 Ant 語法,再依自己需要微調這些既有的 script。

建立編譯環境

  1. 安裝 Android SDK

    安裝過程就不再贅述,要記下 SDK 的安裝路徑,例如:C:\Program Files\Android\android-sdk 以我的環境為例,我安裝的相關工具以及版本有: - "Android SDK Tools" Rev. is 22.3 - "Android SDK Build-tools" Rev. is 18.1.1 - "Android 4.3 (API 18)

  2. 安裝 Android NDK

    如果要用到 JNI 就需要這個工具,安裝過程就不再贅述,要記下 NDK 的安裝路徑,例如:C:\AndroidNDK\android-ndk-r8e

  3. 驗證 Android SDK Command

    開啟 DOS 視窗,切換到你的 workspace 目錄下,輸入: android create project 應該會出現以下結果,如果沒有,要檢查 C:\Program Files\Android\android-sdk\tools 有沒有加入系統變數 Path。

    Error: The parameters --target, --path, --package, --activity must be defined for action 'create project
    
    Usage:
        android [global options] create project [action options]
        Global options:
        -h --help       : Help on a specific command.
        -v --verbose    : Verbose mode, shows errors, warnings and all messages.
        --clear-cache: Clear the SDK Manager repository manifest cache.
        -s --silent     : Silent mode, shows errors only.
    
        Action "create project":
            Creates a new Android project.
        Options:
        -n --name          : Project name.
        -v --gradle-version: Gradle Android plugin version.
        -t --target        : Target ID of the new project. [required]
        -p --path          : The new project's directory. [required]
        -g --gradle        : Use gradle template.
        -k --package       : Android package name for the application. [required]
        -a --activity      : Name of the default Activity that is created. [required]
    
  4. 下載 Apache Ant (1.9.2)

    將 Apache Ant 解壓縮到 C:\apache-ant-1.9.2,將 C:\apache-ant-1.9.2\bin 加入系統變數 Path。

以上,Android command build by Ant script 的編譯環境大致設置完畢。

Reference:

Managing Projects from the Command Line

Comments

Comments powered by Disqus