Expo 46执行prebuild后eas build安卓构建失败求助
问题分析与解决方案
可能原因及对应修复步骤
1. 检查eas.json的构建配置
EAS Build默认会自动执行prebuild,可能覆盖你本地生成的android目录。需要在eas.json中显式禁用自动预构建,确保构建服务器使用你提交的本地预构建产物:
{ "build": { "production": { "android": { "prebuildCommand": "" } } } }
2. 确认预构建产物已提交到版本控制
EAS Build会拉取你仓库中的代码,如果你执行npx expo prebuild后没把生成的android文件夹提交到Git,构建服务器上就不会有完整的项目文件,自然找不到build.gradle。执行以下命令提交:
git add android git commit -m "Add prebuilt Android project files" git push
3. 清理缓存后重新预构建
本地预构建过程中可能存在缓存损坏,导致生成的android目录不完整:
- 删除本地
android文件夹:rm -rf android - 清理Expo缓存:
npx expo start --clear - 重新执行预构建:
npx expo prebuild - 提交更新后的
android目录到Git,再触发EAS Build。
4. 匹配Expo与EAS CLI版本
Expo 46对EAS CLI版本有兼容要求,建议安装适配的3.x版本:
npm install -g eas-cli@3.x
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

