Android设备JS远程调试异常:模拟器卡顿+Dev Tools启动报错
解决Android设备JS Remote Handler异常及模拟器卡顿问题
从你给出的CMD报错信息来看,核心问题是error Google Chrome exited with error:, Error: spawn cmd ENOENT——这个错误说明系统找不到cmd.exe来启动Chrome调试工具,后续的/onchange请求无响应也和调试服务无法正常初始化直接相关。下面是针对性的解决方案:
1. 修复系统环境变量(最常见诱因)
spawn cmd ENOENT大概率是因为系统的Path环境变量里缺失了C:\Windows\System32路径(cmd.exe就存放在这个目录下)。修复步骤:
- 右键点击「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」列表里找到
Path,点击「编辑」 - 检查是否存在
C:\Windows\System32,如果没有就添加进去 - 保存设置后,完全关闭所有CMD窗口、模拟器和开发工具,再重新启动尝试
2. 手动指定Chrome启动路径
如果系统能找到cmd.exe但仍无法启动Chrome,可能是调试工具找不到Chrome的安装位置。可以手动指定:
- 在你的React Native项目根目录下创建或编辑
.env文件,添加一行:
注意根据你实际的Chrome安装路径调整(比如64位系统可能在CHROME_EXECUTABLE="C:\Program Files\Google\Chrome\Application\chrome.exe"Program Files (x86)下) - 或者在启动调试时,通过命令行参数指定:
npx react-native start --chrome-executable "C:\Program Files\Google\Chrome\Application\chrome.exe"
3. 清理缓存并重启服务
缓存堆积也可能导致调试服务异常,试试这些操作:
- 关闭模拟器、Chrome浏览器和所有相关的CMD窗口
- 在项目根目录运行命令清除React Native缓存:
npx react-native start --reset-cache - 重新启动模拟器,再触发远程JS调试
4. 检查模拟器网络连接
模拟器卡顿和调试请求无响应也可能和网络有关:
- 确保模拟器和电脑处于同一网络环境,并且没有开启异常的代理设置
- 可以尝试重启模拟器的网络(比如开关一次飞行模式),或者重新创建一个模拟器实例
附你提供的报错日志:
info Launching Dev Tools... error Google Chrome exited with error:, Error: spawn cmd ENOENT ::ffff:127.0.0.1 - - [09/Apr/2019:11:35:16 +0000] "GET /launch-js-devtools HTTP/1.1" 200 - "-" "okhttp/3.12.1" ::ffff:127.0.0.1 - - [09/Apr/2019:11:35:17 +0000] "GET /onchange HTTP/1.1" - - "-" "okhttp/3.12.1" ::ffff:127.0.0.1 - - [09/Apr/2019:11:35:32 +0000] "GET /onchange HTTP/1.1" - - "-" "okhttp/3.12.1" ::ffff:127.0.0.1 - - [09/Apr/2019:11:35:47 +0000] "GET /onchange HTTP/1.1" - - "-" "okhttp/3.12.1" ::ffff:127.0.0.1 - - [09/Apr/2019:11:36:02 +0000] "GET /onchange HTTP/1.1" - - "-" "okhttp/3.12.1"
内容的提问来源于stack exchange,提问作者Shehzi Moin
相关产品推荐
相关产品推荐

