Android Webview Chromium UnitTests 因 java.lang.NoSuchMethodError 失败

问题描述

当我们想要使用 Robolectric 版本 4.3.1 和 Mockito 版本 2.18.3 创建单元测试时,我们目前正面临此 NoSuchMethod 错误

例外:

[0.3333333333333333,0.6666666666666666,0.25,0.75,0.4,0.6,0.16666666666666666,0.3333333333333333,0.5]

这是我们做的代码

java.lang.NoSuchMethodError: 'void com.android.webview.chromium.WebViewChromium.<init>(com.android.webview.chromium.WebViewChromiumFactoryProvider,android.webkit.WebView,android.webkit.WebView$PrivateAccess,boolean)'

在BUILD.gn中,我们已经包含了“//android_webview/glue:glue_java”作为依赖,我们可以成功编译代码,但在运行时听起来,它指的是另一个错误的jar,有人知道如何配置构建文件以使用正确的 jar 或有关如何解决错误的任何想法?

解决方法

你有没有检查这个followjng线程https://github.com/robolectric/robolectric/issues/5092和这个我认为你需要打开jdk 11或13我最近在将open jdk 13添加到android studio后遇到了同样的问题它解决了我的问题robolectric开始工作正常你可以检查以下线程以及https://github.com/robolectric/robolectric/issues/5092