Android SDK Tools 在升级到 Version22 之后,原来的 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.
需要导入以上 3 个 jar 包到 tools\lib 下,如果有可能,建议同时放到 ant 的 lib 下