我补充道
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
但就连谷歌在该功能上的嵌入式视频也没有说明这一点。也不确定AS版本与它有什么关系。也许他们指的是AGP。