使用EAS构建Expo Android应用时卡在expo-modules-core:lintVitalAnalyzeRelease
EAS构建Expo Android卡在
expo-modules-core:lintVitalAnalyzeRelease的问题排查与解决思路 问题描述
使用EAS构建Expo Android应用时,构建流程卡在lintVitalAnalyzeRelease任务,具体停留在expo-modules-core包环节。最后一段构建日志如下:
> Task :react-native-maps:copyReleaseJniLibsProjectOnly > Task :react-native-masked-view_masked-view:copyReleaseJniLibsProjectOnly > Task :react-native-mmkv:copyReleaseJniLibsProjectOnly > Task :react-native-picker_picker:copyReleaseJniLibsProjectOnly > Task :react-native-reanimated:copyReleaseJniLibsProjectOnly > Task :react-native-safe-area-context:copyReleaseJniLibsProjectOnly > Task :react-native-screens:copyReleaseJniLibsProjectOnly > Task :react-native-screens:lintVitalAnalyzeRelease > Task :expo-modules-core:lintVitalAnalyzeRelease
此前构建可正常运行,但目前即使回滚到曾成功构建的版本,问题依然存在。
已尝试操作
- 回滚至曾成功构建的代码版本
- 清除构建缓存并重新发起构建
- 运行
expo doctor检查项目依赖一致性 - 将所有依赖更新至最新版本
环境信息
- Expo SDK版本:^51.0.14
- EAS CLI版本:eas-cli/12.5.2 win32-x64 node-v21.6.2
- React Native版本:0.74.5
可能的解决方向
临时跳过lintVital任务
在项目根目录的android/build.gradle中,修改android块配置,临时禁用release构建的lint检查:android { lintOptions { checkReleaseBuilds false abortOnError false } }注:这是应急方案,后续需排查具体lint错误根源。
本地触发lint排查具体问题
在本地项目的android目录下,执行以下命令手动触发expo-modules-core的lint检查,获取具体错误/警告信息:./gradlew :expo-modules-core:lintRelease根据输出的提示,针对性修复代码规范问题、依赖冲突或资源文件异常。
调整EAS构建的Node版本
当前使用的Node v21.6.2为非LTS版本,尝试在eas.json中指定稳定LTS版本(如v20.x):{ "build": { "production": { "node": "20.10.0" } } }彻底清理本地与远程缓存
执行以下命令清除EAS远程构建缓存:eas build:cache:clear同时删除本地
node_modules、android/.gradle、android/build目录,重新执行npm install后发起构建。锁定expo-modules-core兼容版本
在package.json中锁定与Expo SDK 51匹配的expo-modules-core版本(推荐~1.12.16):"expo-modules-core": "~1.12.16"
内容的提问来源于stack exchange,提问作者John Takata
相关产品推荐
相关产品推荐

