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

React Native Android构建:expo-file-system:compileDebugKotlin失败

问题背景
  • React Native项目iOS端可正常编译,Android端构建失败
  • Android模拟器可正常启动,排除Android基础开发环境配置问题
  • 构建中断节点为:expo-file-system:compileDebugKotlin任务,提示Kotlin编译错误
  • 当前项目根目录build.gradle版本配置:
buildscript {
    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
    }
}
  • 核心报错堆栈:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':expo-file-system:compileDebugKotlin'.
> Compilation error. See log for more details

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':expo-file-system:compileDebugKotlin'.
Caused by: org.gradle.api.GradleException: Compilation error. See log for more details
解决方案

按优先级依次操作,绝大多数场景下前两步即可解决问题:

1. 修正Android构建版本配置

当前配置的compileSdkVersion = 30版本过低,近2年发布的expo-file-system版本最低要求compileSdkVersion为31,部分新版本要求33,同时需要固定全局Kotlin版本,避免各依赖自行拉取不兼容的Kotlin版本引发编译错误。
修改根目录下android/build.gradle的buildscript配置块为:

buildscript {
    ext {
        buildToolsVersion = "33.0.2"
        minSdkVersion = 21
        compileSdkVersion = 33
        targetSdkVersion = 33
        kotlinVersion = "1.8.22"
    }
}

2. 全量清理缓存后重新构建

版本配置修改完成后,在项目根目录依次执行以下命令清理旧构建缓存、重装依赖:

# 清理Android构建产物缓存
cd android && ./gradlew clean && cd ..
# 删除现有依赖目录
rm -rf node_modules
# 选择项目对应包管理工具重新安装依赖
npm install
# yarn install
# pnpm install
# 重新触发Android构建
npx react-native run-android

3. 对齐expo-file-system的兼容版本

如果上述操作后依然报错,大概率是安装的expo-file-system版本和当前React Native版本不匹配:

  • React Native版本为0.66~0.70区间的项目,安装适配稳定版:执行npm install expo-file-system@15.1.1
  • React Native版本为0.71及以上的项目,可升级到最新稳定版,同时保证所有expo生态依赖的大版本一致,禁止跨大版本混用(比如expo-modules-core使用46.x版本、expo-file-system使用49.x版本的组合必然出现编译错误)

4. 定位具体编译错误

如果以上操作都未解决问题,现有简略报错没有给出具体错误点,进入android目录执行带详细日志的构建命令,即可看到具体的Kotlin编译错误原因:

cd android
./gradlew assembleDebug --info

从过往排错经验看,剩余的常见错误原因包括:

  • 本地Gradle缓存损坏:删除用户目录下的.gradle/caches文件夹后重新构建即可
  • 依赖重复引入:多个第三方库同时引入了不同版本的expo相关依赖,可通过./gradlew app:dependencies查看依赖树排除冲突
  • Gradle插件版本过低:将Android项目的Gradle插件版本升级到7.3+即可适配新的Kotlin版本

内容的提问来源于stack exchange,提问作者Swift Sharp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:54:36