java.lang.VerifyError:验证器拒绝类。代码在调试模式下工作正常,但在发布模式下不会抛出此错误

use*_*140 6 java android proguard jwi

请帮助解决此错误。以下是错误日志:

Caused by: java.lang.VerifyError: Verifier rejected class edu.mit.jwi.morph.SimpleStemmer: java.util.List edu.mit.jwi.morph.SimpleStemmer.getNounCollocationRoots(java.lang.String) failed to verify: java.util.List edu.mit.jwi.morph.SimpleStemmer.getNounCollocationRoots(java.lang.String): [0x50] register v6 has type Reference: java.lang.Object but expected Precise Reference: java.lang.String

     java.util.List edu.mit.jwi.morph.SimpleStemmer.getVerbCollocationRoots(java.lang.String) failed to verify: java.util.List edu.mit.jwi.morph.SimpleStemmer.getVerbCollocationRoots(java.lang.String): [0x60] register v7 has type Reference: java.lang.Object but expected Precise Reference: java.lang.String
Run Code Online (Sandbox Code Playgroud)

小智 6

遇到同样的问题,我正在使用

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
Run Code Online (Sandbox Code Playgroud)

我将协程降级为

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.6'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6'
Run Code Online (Sandbox Code Playgroud)

它起作用了。

根据kotlin 文档, 1.3.9 版本似乎有一些错误


use*_*140 1

解决。这是使用Proguard后抛出的一个不必要的问题。

在 Proguard 规则中为该类添加了 -dontwarn。该版本运行得非常好。