React Native+Expo安卓打包报错:Gradle构建失败(expo-splash-screen编译错误)
expo-splash-screen:compileReleaseKotlin 编译错误 问题详情
使用React Native和Expo开发安卓应用,上周打包正常,当前执行打包命令时失败:
cd /home/expo/workingdir/build/android && ./gradlew :app:assembleRelease
报错内容:
[stderr]
FAILURE: Build failed with an exception.
[stderr]
- 出错原因:
[stderr]
任务':expo-splash-screen:compileReleaseKotlin'执行失败。
[stderr]执行org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction时发生失败
[stderr]
编译错误。查看日志获取更多详情
[stderr]
- 尝试方案:
[stderr]使用--stacktrace选项获取堆栈跟踪信息。
使用--info或--debug选项获取更多日志输出。
使用--scan选项获取完整分析信息。
[stderr]
- 更多帮助请访问:https://help.gradle.org
[stderr]
BUILD FAILED in 6m 17s
Error: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information
已尝试操作:
- 删除
node_modules并重新执行npm install,问题未解决 - 尝试过网上常见方案,均无效
可行解决方案
1. 核对Kotlin版本兼容性
打开android/build.gradle文件,找到ext.kotlin_version配置项,确保版本与当前Expo SDK要求匹配(推荐使用1.8.22或Expo官方文档指定的版本)。修改后重新执行打包命令。
2. 清理Gradle缓存
执行以下命令清理Gradle缓存,排除缓存导致的编译异常:
cd android ./gradlew clean ./gradlew :app:assembleRelease
3. 更新Expo相关依赖
确保expo和expo-splash-screen依赖为最新版本,执行:
npm install expo@latest expo-splash-screen@latest
若为裸工作流项目,重新生成安卓项目文件:
npx expo prebuild --clean
4. 获取详细错误日志
执行命令输出完整堆栈信息,定位具体编译问题:
cd android ./gradlew :app:assembleRelease --stacktrace
根据日志中的具体错误提示(如语法错误、依赖冲突)进行针对性修复。
5. 检查安卓SDK版本一致性
确认android/build.gradle和android/app/build.gradle中的Build Tools、Compile SDK版本与Expo SDK要求一致,若不匹配则调整版本号后重试打包。
内容的提问来源于stack exchange,提问作者Pedro Luis D L

