You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 0.72.6中gradle-plugin:compileKotlin错误修复求助

Kotlin版本不兼容导致React Native Android构建失败的解决方案

问题描述

此前使用React Native 0.68.2版本时Android运行正常,升级新版本后出现Kotlin版本不兼容的编译错误,构建失败。核心报错为依赖的Kotlin标准库元数据二进制版本为1.9.0,但项目预期版本为1.7.1,具体报错信息如下:

e: 依赖中发现不兼容的类,请从类路径中移除或使用'-Xskip-metadata-version-check'抑制错误
e: C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
e: C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
e: C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/META-INF/kotlin-stdlib.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
e: C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-common-1.9.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module: 模块使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (57, 42): Class 'kotlin.reflect.KClass'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/reflect/KClass.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (57, 42): Class 'kotlin.jvm.JvmClassMappingKt'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/jvm/JvmClassMappingKt.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (57, 59): Class 'kotlin.collections.CollectionsKt__CollectionsJVMKt'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/collections/CollectionsKt__CollectionsJVMKt.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (60, 72): Class 'kotlin.reflect.KClass'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/reflect/KClass.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (60, 72): Class 'kotlin.jvm.JvmClassMappingKt'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/jvm/JvmClassMappingKt.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (75, 38): Class 'kotlin.reflect.KClass'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/reflect/KClass.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (75, 38): Class 'kotlin.jvm.JvmClassMappingKt'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/jvm/JvmClassMappingKt.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (81, 76): Class 'kotlin.reflect.KClass'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/reflect/KClass.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (81, 76): Class 'kotlin.jvm.JvmClassMappingKt'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/jvm/JvmClassMappingKt.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (85, 42): Class 'kotlin.reflect.KClass'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/reflect/KClass.class加载
e: F:\ICANFLY\React_Native\AwesomeProject\node_modules@react-native\gradle-plugin\src\main\kotlin\com\facebook\react\ReactExtension.kt: (85, 42): Class 'kotlin.jvm.JvmClassMappingKt'使用不兼容的Kotlin版本编译。其元数据的二进制版本为1.9.0,预期版本为1.7.1。
该类从C:/Users/khong/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/kotlin/jvm/JvmClassMappingKt.class加载

构建失败信息:

FAILURE: 构建因异常失败。
- 出错原因:
任务':gradle-plugin:compileKotlin'执行失败。

执行org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction时发生失败
编译错误,请查看日志获取更多详情

- 建议操作:
使用--stacktrace选项获取堆栈跟踪。
使用--info或--debug选项获取更多日志输出。
使用--scan获取完整洞察。
访问https://help.gradle.org获取更多帮助。

构建耗时9秒失败,应用安装失败。

解决方案

方案1:升级项目的Kotlin版本至兼容版本

  1. 打开项目根目录下的**项目级build.gradle**文件,找到ext块中的kotlinVersion配置,将其修改为与依赖匹配的版本(如1.9.10):
buildscript {
    ext {
        kotlinVersion = "1.9.10"
        // 其他配置...
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        // 其他依赖...
    }
}
  1. 同步Gradle配置,重新构建项目。

方案2:降级Gradle版本以匹配项目的Kotlin版本

如果不想升级Kotlin版本,可以降级Gradle到与Kotlin 1.7.1兼容的版本(如Gradle 7.4.x):

  1. 修改项目根目录下的gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
  1. 同步Gradle配置,执行./gradlew clean清理项目缓存后重新构建。

方案3:临时跳过元数据版本检查(不推荐长期使用)

如果需要快速验证项目功能,可以添加编译参数跳过版本检查:

  1. 在项目级build.gradle文件中添加Kotlin编译参数:
allprojects {
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
        kotlinOptions {
            freeCompilerArgs += ["-Xskip-metadata-version-check"]
        }
    }
}
  1. 重新构建项目。注意此方案可能隐藏潜在的兼容性问题,仅作为临时解决方案。

方案4:检查React Native版本的依赖兼容性

新版本React Native可能对Kotlin和Gradle版本有特定要求,确认你使用的React Native版本推荐的Kotlin和Gradle版本,确保项目配置与之匹配。

内容的提问来源于stack exchange,提问作者Hoàng Hạc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:55:01