Android SDK Tools は Version22 にアップグレードした後、以前の ant 自動ビルドスクリプトの実行でエラーが発生し、Jenkins に設定されたバッチスクリプトが実行できなくなり、エラーメールが続けて送信されます。調査の結果、Android SDK Tools のアップグレード後、ファイルとディレクトリの構造が変更されたことがわかりました。主な変更点は以下の通りです。1.Android SDK Tools 22 以降のバージョンでは、tools ディレクトリに以下の 2 つのファイルが含まれなくなります。
- 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 には以下の 3 つの 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.
上記の 3 つの jar ファイルを tools\lib にインポートする必要があります。可能であれば、ant の lib にも同じく配置することをお勧めします。