Expo Go与EAS Build开发流程异常求助
解决Expo Go与EAS开发搭配的问题
问题根源
你当前的报错是因为eas.json里development构建的developmentClient设为false,导致构建的不是支持开发热刷新的客户端包,而yarn android默认会寻找项目对应的开发构建客户端。另外,创建EAS配置后Expo Go失效,大概率是项目中引入了Expo Go不兼容的依赖,或者EAS配置改变了项目的运行逻辑。
解决方案
1. 修复yarn android报错,启用EAS开发构建热刷新
修改eas.json中的development配置,将developmentClient改为true,这样构建的APK是带开发客户端的版本,支持热刷新:
{ "cli": {"version": ">= 7.8.1"}, "build": { "development": { "developmentClient": true, "distribution": "internal", "ios": {"simulator": true}, "android": {"buildType": "apk"} }, "preview": {"distribution": "internal", "android": {"buildType": "apk"}}, "release": {"distribution": "store"}, "production": {} }, "submit": {"production": {}} }
执行以下命令构建并安装开发客户端到设备:
eas build --profile development --platform android
安装完成后,再运行yarn android就能正常连接开发客户端,后续修改JS代码可以直接热刷新,无需重新构建整个APK。
2. 重新启用Expo Go快速开发
如果你的项目没有使用Expo Go不支持的依赖(比如自定义原生模块、需要特殊配置的第三方库),可以直接用以下命令强制启动Expo Go模式:
expo start --go
这样就能回到之前的快速热刷新开发流程,无需构建APK。
3. 日常开发搭配建议
- 初期无特殊原生依赖时,优先用Expo Go,快速迭代代码。
- 当需要引入Expo Go不兼容的功能时,切换到EAS开发构建,首次构建完成后,后续JS代码修改依然支持热刷新,只有修改原生配置或依赖时才需要重新构建。
- 预览和正式发布使用
preview、release配置,与开发模式完全隔离。
内容的提问来源于stack exchange,提问作者A Mehmeto
相关产品推荐
相关产品推荐

