banner
李大仁博客

李大仁博客

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

[Android]升级SDK工具后,ant自动编译脚本出现错误。

在升级到 Version22 之后,Android SDK 工具的 ant 自动编译脚本出现错误,导致无法执行为 Jenkins 配置的批处理脚本,一直发送错误邮件。经过调查发现,Android SDK 工具升级后文件和目录结构发生了变化,主要包括以下内容:

  1. Android SDK 工具 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

这导致了以下错误:

无法从资源 emma_ant.properties 中加载定义。找不到该文件。

以及

问题:无法创建任务或类型 emma
原因:名称未定义。

需要将以上三个 jar 包导入到 tools\lib 目录下,如果可能的话,建议同时放到 ant 的 lib 目录下。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。