banner
李大仁博客

李大仁博客

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

[Android]升级SDK tools后ant自动编译脚本错误

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 下

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.