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下