Kotlin Multiplatform项目JVM目标版本从1.8升级到11的问题求助
Kotlin Multiplatform项目JVM目标版本从1.8升级到11的问题求助
你遇到的这个错误本质是项目里不同模块的JVM目标版本不统一导致的——Android模块的Kotlin编译目标设了11,但Java编译选项还停留在1.8,同时Desktop模块也没指定JVM 11,最终造成字节码版本不兼容,无法完成内联操作。下面是具体的修改步骤:
1. 更新Android模块的Java编译选项
在你的android代码块里,把compileOptions从Java 1.8改成11:
compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 }
2. 为Desktop JVM目标指定JVM版本
在kotlin代码块里,给jvm("desktop")添加编译选项配置,指定JVM目标为11:
kotlin { androidTarget { compilations.all { kotlinOptions { jvmTarget = "11" } } } jvm("desktop") { compilations.all { kotlinOptions { jvmTarget = "11" } } } // 其余sourceSets等代码保持不变 }
3. 清理并同步项目
修改完成后,执行以下操作确保生效:
- 点击Android Studio里的Clean Project按钮
- 执行Sync Project with Gradle Files
- 重新编译项目
这样所有模块的JVM目标版本就统一为11了,应该能解决你遇到的Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM target 1.8错误。
备注:内容来源于stack exchange,提问作者JamieRhys
相关产品推荐
相关产品推荐

