You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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模式后所有功能正常

操作步骤

  1. eas login
  2. eas build:configure
  3. eas build -p android --profile preview
  4. npx 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:10:23