React Native Expo开发构建无法连接Android设备问题求助
Expo Dev Client 调试问题排查
问题现象
- 用React Native Expo构建APK并安装到Android手机后,运行
npx expo start --dev-client扫码打开APK,修改代码后手机端无更新 - 部分功能在Expo Go中正常,但在自建APK里无法运行
- 终端按
r键时提示:No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB - 切换到
--go模式后所有功能正常
操作步骤
eas logineas build:configureeas build -p android --profile previewnpx expo start --dev-client
当前eas.json配置
{ "cli": { "version": ">= 7.4.0" }, "build": { "preview": { "android": { "buildType": "apk" } }, "preview2": { "android": { "gradleCommand": ":app:assembleDebug" } }, "preview3": { "developmentClient": true }, "preview4": { "distribution": "internal" }, "production": {} } }
排查建议
- 切换正确的构建Profile:当前使用的
preview未开启developmentClient: true,这是Dev Client实现热更新的核心配置。应改用preview3构建,执行命令eas build -p android --profile preview3,只有带该配置的安装包才具备与本地开发服务通信、热更新的能力。 - 检查网络连通性:确保手机与电脑处于同一局域网,启动服务时可加
--lan参数强制使用局域网地址:npx expo start --dev-client --lan,避免用localhost导致手机无法访问开发服务。 - 验证ADB连接状态:执行
adb devices确认设备被识别,确保手机开启USB调试模式。即使扫码连接,ADB异常也可能导致服务无法识别设备。 - 确认构建包类型:
preview构建的是生产型APK,而Dev Client需要调试包才能实现热更新。可以给preview3补充Android debug配置,确保构建的是调试包:"preview3": { "developmentClient": true, "android": { "gradleCommand": ":app:assembleDebug" } } - 排查功能差异原因:Expo Go预集成了大量原生模块,自建Dev Client需要手动配置所有依赖。检查异常功能对应的原生库,确认是否在
app.json/app.config.js中正确声明,且EAS Build时已完成集成(比如权限、gradle额外配置等)。
内容的提问来源于stack exchange,提问作者Miller
相关产品推荐
相关产品推荐

