Expo Android构建失败::app:bundleReleaseJsAndAssets任务执行出错
Expo安卓预览构建失败的解决方向指引
核心问题定位
你遇到的两个构建错误,根源是babel.config.js第2行的SyntaxError: Unexpected token 'export'——这个错误导致bundleReleaseJsAndAssets任务的Node进程异常退出,进而引发后续Gradle任务依赖混乱,最终出现java.lang.StackOverflowError。
分步解决方法
1. 修复babel.config.js语法错误
Expo项目的babel.config.js需要遵循Node.js的CommonJS规范,不能使用ES模块的export语法。把文件里的export default替换为module.exports:
// 错误写法 export default { presets: ['babel-preset-expo'], }; // 正确写法 module.exports = { presets: ['babel-preset-expo'], };
2. 处理Gradle任务依赖与StackOverflow问题
开发客户端构建正常,说明依赖问题仅出现在Release构建流程中。修复babel错误后,若仍存在Gradle相关错误,可通过eas.json调整构建命令:
- 在你的
eas.json的preview配置段中,添加Android构建命令,跳过bundleReleaseJsAndAssets任务:
{ "build": { "preview": { "android": { "buildCommand": "./gradlew assembleRelease -x bundleReleaseJsAndAssets" } } } }
注意:使用这个命令前,需要确保已经预先生成了JS bundle。可本地执行
expo export --platform android生成bundle,再配合构建命令使用。
3. 本地验证构建
为了快速排查问题,建议先尝试本地构建:
eas build --local --platform android --profile preview
本地构建能更快看到错误日志,避免远程构建的等待时间。
内容的提问来源于stack exchange,提问作者Yukko
相关产品推荐
相关产品推荐

