我正在使用其他开发人员创建的一些 Android 代码,他们要求我对其运行代码覆盖率指标。它是 Android 2.3.3,他们使用 ant 作为构建文件。我在 Ubuntu 上运行,而其他开发人员在 windows/macs 上运行。
如果我单独留下 SDK/tools/lib/ant/main_rules.xml 文件,我最终会遇到 emma 的 sourceforge 页面中描述的错误:找不到类 com.vladium.emma.emmajavaTask 所需的类:org/apache/工具/ant/taskdefs/Java"
这显然是由于 lib 目录中同时包含 emma_ant.jar 和 emma.jar 造成的。不用说,没有提到 emma_device.jar。
如果我注释掉寻找 emma.jar 的行,我可以构建项目。然而,当需要创建一个测试项目来获取检测代码时,运行“ant coverage”会返回
Problem: failed to create task or type emma
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
这让我陷入困境。它似乎正在寻找 emma_properties.config 文件,但这似乎只在 emma.jar 中,被注释掉了......
我觉得我在兜圈子,一无所获。任何帮助表示赞赏。