banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Android]升級SDK tools後ant自動編譯腳本錯誤

在升級到 Version22 之後,Android SDK Tools 的 ant 自動編譯腳本運行出現錯誤,導致為 Jenkins 配置的批處理腳本無法執行,一直發送錯誤郵件。經過調查後發現,Android SDK Tools 升級後文件和目錄結構發生了變化,主要包括以下內容:

  1. Android SDK Tools 22 之後的版本中,tools 目錄中將不包含以下兩個文件:
  • tools\zipalign.exe
  • tools\sqlite3.exe

以上兩個文件已經移動到各自的 platform-tool 和 build-tools 目錄下,對應的路徑如下:

  • build-tools\android-xx\zipalign.exe
  • platform-tools\sqlite3.exe

如果需要使用這兩個文件,需要手動複製到 tools 目錄下,或者將其添加到 PATH 變量中。

Windows 環境下的配置:

set PATH=c:\android-sdk-windows
set ANDROID_VER=android-13
set PATH=%PATH%;%ANDROID_HOME%\build-tools\%ANDROID_VER%\;
set PATH=%PATH%;%ANDROID_HOME%\platform-tools\;

Linux/MacOS 環境下的配置:

export ANDROID_HOME=/var/share/android-sdk-macosx;
export ANDROID_VER=android-13
export PATH=${PATH}:${ANDROID_HOME}/build-tools/${ANDROID_VER}/;
export PATH=${PATH}:${ANDROID_HOME}/platform-tools;

原來使用的腳本請參考 http://www.lidaren.com/archives/1328

另外,tools\lib 目錄下不包含 EMMA 覆蓋率相關的以下三個文件:

  • tools\lib\emma.jar
  • tools\lib\emma_device.jar
  • tools\lib\emma_ant.jar

這導致以下錯誤:

Could not load definitions from resource emma_ant.properties. It cou
ld not be found.

Problem: failed to create task or type emma
Cause: The name is undefined.

需要將以上三個 jar 包導入到 tools\lib 目錄下,如果可能,建議同時放到 ant 的 lib 目錄下。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。