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

React Native构建报错::expo-modules-core:compileDebugKotlin问题求助

问题排查与解决方案

核心原因

你的问题源于两个连锁问题:

  • expo-modules-core依赖的Kotlin版本(1.6.0)与项目当前指定的Kotlin版本(1.4.1)元数据不兼容,导致编译失败。
  • 强行指定Kotlin 1.4.1后无法解析插件,是因为该版本过于老旧,已从默认Maven仓库移除。

解决步骤

1. 对齐Kotlin版本到兼容版本

不要降级Kotlin,而是升级项目Kotlin版本以匹配expo-modules-core的需求:

  • 打开项目根目录的build.gradle文件(非app模块下的)
  • 找到buildscript块中的ext配置,修改kotlinVersion为1.6.21(该版本稳定性较好,与1.6.0元数据兼容):
    buildscript {
        ext {
            kotlinVersion = "1.6.21"
            // 其他版本配置(如reactNativeVersion等)
        }
        dependencies {
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
            // 其他依赖
        }
    }
    
  • 若项目未显式配置kotlinVersion,直接在buildscript.dependencies中指定插件版本为1.6.21。

2. 修复插件解析失败问题

完成版本修改后,检查仓库配置并清理缓存:

  • 确保根目录build.gradle的仓库列表包含mavenCentral()(优先)或google():
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    }
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
  • 执行以下命令清理缓存并重新构建:
    ./gradlew clean
    npx react-native run-android
    
  • 若仍无法解析,可手动删除项目根目录下的.gradle文件夹,或用户主目录下的.gradle/caches缓存目录,再重新执行构建。

3. 验证依赖兼容性

如果升级Kotlin后仍有问题,检查expo-modules-core版本与React Native/Expo SDK的兼容性:

  • 查看项目package.json中的expo-modules-core版本,确保其与当前React Native版本匹配。
  • 若使用较新的Expo SDK,可尝试将Kotlin版本升级到1.7.x或1.8.x(需保证kotlin-gradle-plugin版本与Kotlin runtime版本一致)。

内容的提问来源于stack exchange,提问作者Gurmukh Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:55:19