2

我开始在 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 ENOENT无法运行 adb reverse (React-Native )

操作系统视窗 10

4

2 回答 2

4

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

于 2018-03-03T07:54:47.470 回答
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),
  },
....
于 2018-06-26T04:32:47.200 回答