微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android coreLibraryDesugaringEnabled,连接测试崩溃,NoSuchMethodError

如何解决Android coreLibraryDesugaringEnabled,连接测试崩溃,NoSuchMethodError

我向我们的应用添加coreLibraryDesugaringEnabled,它可以正常运行应用。

  compileOptions {
    coreLibraryDesugaringEnabled true
  }

  coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'

但是,当我运行连接测试时,它崩溃了,Stream 类上没有此类方法错误

16:03:56.426 11998 12041 E AndroidRuntime: FATAL EXCEPTION: com....
16:03:56.426 11998 12041 E AndroidRuntime: Process: ...
16:03:56.426 11998 12041 E AndroidRuntime: java.lang.NoSuchMethodError: No static method e([Ljava/lang/Object;)Lj$/util/stream/Stream; in class Lj$/util/n; or its super classes (declaration of 'j$.util.n' appears in /data/app/com....-qU6nwXthxze4O_9rcf1hGg==/base.apk!classes2.dex)
16:03:56.426 11998 12041 E AndroidRuntime:  at j$.util.stream.Stream$-CC.of(:1000)
16:03:56.426 11998 12041 E AndroidRuntime:  at ...

我发现了一些模糊的参考,这可能是因为在调用 Multidex.install 之前引用了该类?我首先将该类引用为静态初始化程序,因此很早就可以访问它。不确定这是否是一条红鲱鱼,但我想我会提到它。

如果有帮助,则使用 AndroidJUnit4ClassRunner 运行测试。

编辑:我发现了一个模糊的参考,只有一篇文章指出仪器测试不支持

请注意在 Android Studio 4.0 中使用这些库去糖类型 不支持插桩测试。

https://medium.com/androiddevelopers/support-for-newer-java-language-apis-bca79fc8ef65

但即使是该功能中来自 Google 的嵌入视频也没有说明这一点。也不确定 AS 版本与它有什么关系。也许他们指的是 AGP。​​

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。