gpt4 book ai didi

android - Android Build 的报道

转载 作者:行者123 更新时间:2023-11-30 01:59:27 25 4
gpt4 key购买 nike

我正在尝试覆盖基于 gradle 的 android 项目。

所以我为我的应用程序添加 build.gradle

jacoco { }

testCoverageEnabled true

内部调试。

工作正常。我可以使用 createDebugCoverageReportconnectedCheck 获取报告。

问题是开发人员通常使用调试版本来运行和测试应用程序。因此,在该构建中启用代码覆盖可能会减慢构建速度,并且可能不需要这种用法。

所以我想我会添加新的配置

coverage {
initWith buildTypes.debug
testCoverageEnabled true
}

很遗憾,没有 createCoverageCoverageReport 并且 connectedCheck 没有运行覆盖类型。

当我使用 dex2jar 反编译 apk 并使用 jd-gui 查看内部时,我在调试和覆盖范围内看到 jacoco 调用,所以它就在那里,但它不是由 gradle 插件启动以进行覆盖。

这让我觉得覆盖率只是针对调试版本进行了硬编码。

问题是:1. 我认为我需要一个 coverage buildType 可以吗?我认为调试构建应该与覆盖构建分开2. jacoco 报告只能在调试版本中使用吗?如果不是如何在覆盖类型上运行它?3. 我在哪里可以找到 Jacoco 扩展的源代码。我想看看实现情况?我找到了 thisbuild-system/gradle-core/src/main/groovy/com/android/build/gradle/internal/coverage/JacocoExtension.groovy 但我觉得它不是gradle 插件。

Repository I am trying this on

最佳答案

我从 Gradle 团队得到了部分答复 http://comments.gmane.org/gmane.comp.handhelds.android.adt.devel/5978

基本上,您需要将覆盖范围定义为测试构建,这是通过

安卓{
testBuildType“覆盖”
}

build.gradle 中。这仅回答了为什么覆盖构建类型中不存在覆盖目标。

关于android - Android Build 的报道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720389/

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