【问题标题】:Android studio 3.0 got Error SHA-256 digest error for org/jacoco/agent/rt/RT.classAndroid studio 3.0 得到 org/jacoco/agent/rt/RT.class 的错误 SHA-256 摘要错误
【发布时间】:2018-04-12 11:21:21
【问题描述】:

在我将 Android Studio 更新到 3.0 并按照instruction 迁移我的项目之后

我收到这样的错误:

* What went wrong:
Execution failed for task 
':app:transformClassesWithFirebasePerformancePluginForDevDebug'.
> SHA-256 digest error for org/jacoco/agent/rt/RT.class

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

debug {
    ...
    // Run code coverage reports by default on debug builds.
    testCoverageEnabled = true
}

因为当我评论这行代码时,项目构建良好。我在使用 Android Studio 2.3 时没有遇到过这个问题。

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

有人对解决这个问题有什么建议吗?

谢谢

【问题讨论】:

    标签: android firebase android-gradle-plugin firebase-performance


    【解决方案1】:

    更新 2

    Firebase 支持人员仍然表示该修复程序尚未推出,但我今天使用最新版本的 firebase-perfjacoco 进行了尝试,它可以正常工作。

    更新 1

    firebase-perf 在启用Java 1.8 support 时不能与jacoco 一起使用。 Firebase 支持团队能够复制这一点并正在调查。

    原帖

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

    作为一种临时解决方法,只需注释掉 apply plugin ... firebase-perf 应该会有所帮助。它将禁用Automatic Traces,但@AddTracenewTrace 应该仍然有效。

    在我的情况下,testCoverageEnabled 是根据项目属性有条件地设置的,在评估覆盖率时我不需要 firebase-perf 插件,所以我只是禁用了插件:

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

    【讨论】:

    • 嗨。你能指定你使用什么版本吗?我尝试过最新的:firebase(12.0.1) 和 jacoco(0.8),但没有成功。
    • @temnoi 它对我有用 firebase(11.4.2) 和 jacoco(0.7.9); FWIW 我的android.enableD8=true 中有gradle.properties
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2015-06-18
    • 1970-01-01
    • 2018-05-28
    相关资源
    最近更新 更多