有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java面临一些未知问题一些后端jvm内部错误

我面临一些未知问题,看起来是内部编译器错误: 以下是构建apk时的错误:

Error:org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: doResume (Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;:
Error:org.jetbrains.org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction #375 L0: Incompatible stack heights
Error:org.jetbrains.org.objectweb.asm.tree.analysis.AnalyzerException: Incompatible stack heights

任何帮助都将不胜感激


共 (3) 个答案

  1. # 1 楼答案

    错误消息:“e:org.jetbrains.kotlin.codegen.CompilationException:后端(JVM)内部错误:生成了错误的字节码”

    在我的例子中,我在一个MainViewModel中使用了runBlocking{}。kt的方法

    应用程序正在使用runBlocking{}(无论如何我都不应该使用它)成功编译,直到我更改了该方法中一个参数的名称

    我用viewModelScope替换了runBlocking{}。启动{}以了解此错误消息

  2. # 2 楼答案

    这是最令人沮丧的错误之一

    以下是我得到的错误:

    java.lang.IllegalStateException: Backend Internal error: Exception during code generation
    Cause: Back-end (JVM) Internal error: wrong code generated
    org.jetbrains.kotlin.codegen.CompilationException Back-end (JVM) Internal error: Couldn't transform method node:
    .....
    

    如果进一步的堆栈跟踪与视图和字符串有关,那么对我来说,主要的罪魁祸首是xml视图id太长

    这个名字导致了错误:团队\管理\玩家\回收者\视图\布局 我把它简化为:团队、人、球员、回收者、布局

    吊杆错误消失了

    希望这对其他人有帮助

  3. # 3 楼答案

    如果这对将来的其他人有帮助,我的问题是因为使用了我的自定义扩展:

    suspend operator fun <T> MutableLiveData<T>.plusAssign(newValue: T) = ...
    

    它是这样使用的:

    init {
        job = GlobalScope.launch {
            while (true) {
                delay(1000)
                foo += bar // This is the error.
            }
        }
    }
    

    然而,像这样使用它是完全正确的:

    suspend fun refreshNextJob() {
        foo += bar
    }
    

    不知道为什么会这样,但也许这会对以后的人有所帮助