gpt4 book ai didi

android - 是否可以使用 Android build.xml 简单地编译一个 Emma 检测的 APK,而不运行任何测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:46 24 4
gpt4 key购买 nike

我知道

ant coverage

然而,它做了一些事情,它使用 emma 工具进行编译、安装并运行测试 apk。我不希望它通过带有覆盖率的 ant 运行测试套件,因为我需要使用一些额外的 Hook 来运行它,而且我不想运行大型测试套件两次。到目前为止我已经试过了

Target_Project/build.properties

emma.enabled=true

Test_Project/build.properties

emma.enabled=true

然后在 shell 中执行此操作。

Target_Project$ ant debug
Target_Project$ adb install bin/Target_Project-debug.apk
Target_Project$ cd ../Test_Project/
Test_Project$ ant debug
Test_Project$ adb install bin/Test_Project-debug.apk
Test_Project$ adb shell am instrument -e coverage true -e coverageFile /sdcard/myFile.ec -w com.my_app.testproject/android.test.InstrumentationTestRunner

响应是

Error: Failed to generate emma coverage. Is emma jar on classpath?

那么有什么技巧可以让 apk 与 emma 库一起构建吗?我尝试调用在 sdk xml 模板中创建的目标,但它们是“私有(private)的”。有什么我想念的吗?

最佳答案

好吧,任何有兴趣的人。 SDK 文档完全被破坏(我知道这令人惊讶)。基本上你必须这样做,

获取android create-project生成的base build.xml并更改标签

<setup/>

并将其更改为

<setup import="false"/>

现在文档将告诉您从 SDK/platform-/templates/android_rules.xml 复制并将其放入您的 build.xml ...这是错误的,而且极度无人维护。这个规则文件没有被任何东西使用。使用的是SDK/tools/ant/里面的规则。使用最新的 _r 和
为您的项目类型(库项目的库、测试项目的测试或常规项目的 vanilla)获取适当的文件将其根节点的内容复制到您的 build.xml 中。将其插入设置标签之后。如果不使用ant目录下的文件,将无法通过ant脚本编译工程库。我很高兴他们保留了有关如何执行此操作的文档。

现在您可以更改构建文件中的任何内容以满足您的构建需求。在这种情况下,我只是让安装助手调用我的 adb 包装器,它返回解释的结果代码。

关于android - 是否可以使用 Android build.xml 简单地编译一个 Emma 检测的 APK,而不运行任何测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4073681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com