Android studio 3.0获得了org/jacoco/agent/rt/RT.class的错误SHA-256摘要错误

Wat*_*n.s 5 android firebase android-gradle-plugin firebase-performance

在我将Android studio更新到3.0并按照此说明迁移我的项目后

我得到了这样的错误:

* What went wrong:
Execution failed for task 
':app:transformClassesWithFirebasePerformancePluginForDevDebug'.
> SHA-256 digest error for org/jacoco/agent/rt/RT.class
Run Code Online (Sandbox Code Playgroud)

我跟踪并发现根本原因来自build.gradle文件中的此代码.

debug {
    ...
    // Run code coverage reports by default on debug builds.
    testCoverageEnabled = true
}
Run Code Online (Sandbox Code Playgroud)

因为当我评论这行代码时,项目很好.我使用Android Studio 2.3时没遇到这个问题.

我搜索了一些相关的主题,发现有人说禁用即时运行会解决但不幸的是我的情况不适用.

任何人都有任何建议来解决这个问题?

谢谢

J. *_*ams 4

更新2

Firebase 支持仍然表示该修复尚未推出,但我今天使用最新版本的firebase-perf和进行了尝试jacoco,并且它有效。

更新1

firebase-perfjacoco当启用Java 1.8 支持时不起作用。Firebase 支持团队能够复制此情况并正在进行调查。

原帖

这看起来是在firebase-perf启用插件时触发的。我向 Firebase 团队提交了一个错误,如果得到答案,我会更新。

作为临时解决方法,仅注释掉apply plugin ... firebase-perf应该会有所帮助。它将禁用自动跟踪,但@AddTracenewTrace应该仍然有效。

就我而言,testCoverageEnabled是根据项目属性有条件设置的,并且在评估覆盖范围时不需要 firebase-perf 插件,因此我只是禁用了该插件:

if (!project.hasProperty('coverageRun')) {
    apply plugin: 'com.google.firebase.firebase-perf'
}
// < ... >
if (project.hasProperty('coverageRun')) {
    testCoverageEnabled true
}
Run Code Online (Sandbox Code Playgroud)