无法运行adb reverse:spawnSync React-Native ENOENT

时间:2017-12-21 08:34:06

标签: android react-native reactxp

我开始在ReactXP中编码,我需要让React-Native在Android设备上运行,但是我无法测试它,因为在命令react-native run-android的末尾发生了错误。 A还可以正确连接我的手机NExus 5X,我可以通过adb devices看到它。

我认为当命令react-native run-android运行2次以上时会发生这种情况,因为当我在项目中首先使用它时,一切都很好,当我在某个组件中更改文本并再次运行命令时,一切出了问题。

这是输出结尾的日志

Installing APK 'app-debug.apk' on 'Nexus 5X - 8.1.0' for app:debug
Installed on 1 device.
BUILD SUCCESSFUL
Total time: 11.161 secs
Running sdk.dir=C:/Users/pc123/AppData/Local/Android/Sdk/platform-tools/adb -s 020b60af2344b558 reverse tcp:8081 tcp:8081
Could not run adb reverse: spawnSync sdk.dir=C:/Users/pc123/AppData/Local/Android/Sdk/platform-tools/adb ENOENT
Starting the app on 020b60af2344b558
(sdk.dir=C:/Users/pc123/AppData/Local/Android/Sdk/platform-tools/adb -s 020b60af2344b558 shell am start -n com.rxptodolist/com.rxptodolist.MainActivity)...

SDK位置正确,我之前有一些错误,但我已经解决了它们,我也从Stack Overflow帖子中执行了以下步骤,但仍然没有运气 - 例如React Native adb reverse ENOENTCould not run adb reverse (React-Native) < / p>

OS Windows 10

2 个答案:

答案 0 :(得分:3)

确保您的端口8081干净且可以使用。检查其他服务是否正在侦听该端口。此操作 react-native start --port = 8081

答案 1 :(得分:0)

在yourApp \ node_modules \ react-native \ local-cli \ server \ server.js上,将默认端口更改为8088(或任何您喜欢的端口:只需确保它没有像HTTP的端口号80那样保留)。看起来像这样。

....
module.exports = {
  name: 'start',
  func: server,
  description: 'starts the webserver',
  options: [{
    command: '--port [number]',
    default: process.env.RCT_METRO_PORT || 8088,
    parse: (val: string) => Number(val),
  },
....