React Native 0.72升级后TurboModule的JVM目标兼容问题求助
React Native 0.72 TurboModule JVM版本兼容问题解决方法
以下是针对Java编译任务目标版本11与Kotlin编译任务目标版本17不兼容问题的具体解决步骤:
统一所有模块的JVM版本配置
检查项目中所有build.gradle(包括主项目、TurboModule模块及其他依赖模块),确保Java和Kotlin的编译目标版本完全一致为17,不要遗漏任何模块的配置。修正KTS配置中的JVM目标写法
在build.gradle.kts中直接指定JVM目标为字符串"17",避免依赖JavaVersion.majorVersion可能导致的解析差异:java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } tasks.withType<KotlinCompile> { kotlinOptions { jvmTarget = "17" apiVersion = "1.5" languageVersion = "1.5" } }清理Gradle缓存并重新同步
执行命令清除缓存:./gradlew clean之后在Android Studio中点击「Sync Project with Gradle Files」,确保旧配置被完全替换。
配置全局Gradle属性
在项目根目录的gradle.properties中添加全局JVM版本配置,强制所有模块遵循统一版本:org.gradle.java.home=/你的本地JDK17路径 android.compileOptions.sourceCompatibility=17 android.compileOptions.targetCompatibility=17 kotlin.jvm.target=17注意替换
/你的本地JDK17路径为实际的JDK17安装路径。确认Android Studio项目SDK设置
打开「File > Project Structure > Project」,设置:- SDK为Android API 33或更高版本(React Native 0.72要求)
- JDK Location指向本地JDK17的安装目录
内容的提问来源于stack exchange,提问作者BraveEvidence
相关产品推荐
相关产品推荐

