您必须首先使用 android 命令行工具创建一个测试项目。
创建项目和测试项目
假设您的项目存储在D:\AndroidProject
以及针对 android API level 8 的编程。首先使用此命令创建项目:
android update project --path ./ --name blabla~ --target android-8 --subprojects
然后为测试项目创建一个文件夹并导航到该文件夹:
mkdir Android_test
cd Android_test
然后使用以下命令创建android测试项目
android create test-project --main ../AndroidProject --path ./
Ant 构建与 emma 覆盖率报告(带 root)
执行此命令(来自 jenkins 选择和构建步骤)以使用 emma 报告完成构建:
ant emma debug install test
Caution:为此,您必须连接有root权限的设备或模拟器,然后执行ant命令!
更改构建 xml 文件(因此不需要 root)
如果您不想 root 设备,替代解决方案是更改这些覆盖报告的位置。为此,您应该修改 build.xml 文件。
(您应该在谷歌上搜索更多信息,这里简要解释一下)
打开build.xml -> 找到该位置coverage.ec
文件已存储。在大多数情况下,这将存储在/data/data/com.example.Android/coverage.ec
这里的问题是/data/data/~~~
路径受到保护(因此需要根)。
无论如何~你可以得到一个coverage.html
文件位于您的测试项目文件夹/bin 中。接下来的步骤解释了如何更改此设置以将该文件保存在/sdcard
instead!
您可以打开您的build.xml
文件并在最后一行~你可以找到命令import ~~~ build.xml
这意味着您的 build.xml 文件将导入另一个 build.xml 文件。
另一个 build.xml 文件是 android SDK 的一部分,位于${Android-sdk}/tools/ant/build.xml
.
build.xml 文件所需的更改
我们无法更改此文件(不会遇到麻烦),因此请将完整文件复制到其他位置或直接复制到项目的 build.xml 文件中。
无论您选择做什么,都不要忘记调整或更改 build.xml 文件中的导入语句。
这是您需要在新的 build.xml 文件中更改的内容:
- 擦除
import= ~~build.xml
- 删除第一行
xml=ejkwjkw?e jw ""project = "android_rule"
~~布拉布拉)
- 和最后一行
/project
- 将地址更新为
/sdcard/coverage.ec
然后就可以得到coverage.ec文件了~