代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Blattman

Android coreLibraryDesugaringEnabled,连接测试崩溃,无任何方法错误

  •  0
  • Jeffrey Blattman  · 技术社区  · 5 年前

    我补充道 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。

    0 回复  |  直到 5 年前
    推荐文章