You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React Native安卓应用连接小米手机时出现“Failed to establish session”错误咨询

关于React Native安卓「Failed to establish session」的排查方向

我之前也踩过这个坑,折腾了好一阵才捋清楚可能的原因,结合社区经验和自己的排查过程,给你列几个最常见的触发点:

  • USB调试权限没落实到位:虽然你勾选了「Install via USB」,但很多时候手机连接新电脑时会弹出权限请求弹窗,可能你没留意到或者误点了拒绝。试试拔掉USB线重新连接,看到手机上的「允许这台设备进行调试?」弹窗时,一定要勾选「始终允许」再确认。

  • ADB连接异常卡死:Android调试桥(ADB)偶尔会出现进程僵死或者连接中断的情况。你可以在终端里执行这几个命令重置一下:

    adb kill-server
    adb start-server
    adb devices
    

    执行完adb devices后,如果能看到你的设备出现在列表里,说明ADB连接已经恢复正常。

  • USB连接模式不对:有些手机默认的USB模式是「仅充电」或者「文件传输」,这种情况下ADB没法正常和设备通信。下拉手机通知栏,找到USB连接的选项,切换到「USB调试」或者「PTP(图片传输)」模式再试试。

  • Metro服务端口被占用:默认的Metro服务端口(8081)如果被其他程序占用,会导致没法和设备建立会话。先关闭当前的Metro服务,然后用指定端口重启:

    npx react-native start --port 8088
    

    之后在设备上打开开发者菜单,选择「Change Bundle Location」,输入http://你的电脑IP:8088/index.bundle?platform=android(记得替换成自己电脑的实际IP)。

  • 版本兼容性问题:如果你的安卓系统版本比较新(比如Android 13及以上),但React Native版本偏老,可能会出现兼容性冲突。可以尝试把React Native升级到最近的稳定版本,或者去官方文档核对一下版本适配要求。

  • 防火墙/杀毒软件拦截:电脑上的防火墙、杀毒软件可能会拦截ADB或者Metro服务的通信。可以暂时关闭这些软件,再重新运行项目,看看问题是否解决。


内容的提问来源于stack exchange,提问作者Satish Nagar

火山引擎 最新活动