React Native Android应用无法启动:无法找到变量

时间:2016-09-11 11:54:24

标签: android react-native

我不会修改应用的任何部分;我只是在macOS上执行了cmds:

react-native init ***
cd ***
react-native run-android 

我在模拟器和三星Galaxy note 3上都测试过两者都是一样的。 也试过adb reverse。

我的$ PATH是

/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mohammad/Documents/sdk/platform-tools/:/Users/mohammad/Documents/sdk

然后我在app中得到这些错误(如图片所示):

ReferenceError: Can't find variable: require (http://10.0.3.2:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false:15)

Try the following to fix the issue:
• Ensure that the packager server is running
• Ensure that your device/emulator is connected to your machine and has USB debugging enabled - run 'adb devices' to see a list of connected devices
• Ensure Airplane Mode is disabled
• If you're on a physical device connected to the same machine, run 'adb reverse tcp:8081 tcp:8081' to forward requests from your device
• If your device is on the same Wi-Fi network, set 'Debug server host & port for device' in 'Dev settings' to your machine's IP address and the port of the local dev server - e.g. 10.0.1.1:8081


loadScript
    JSBundleLoader.java:66
runJSBundle
    CatalystInstanceImpl.java:177
call
    XReactInstanceManagerImpl.java:906
call
    XReactInstanceManagerImpl.java:899
run
    MessageQueueThreadImpl.java:74
handleCallback
    Handler.java:739
dispatchMessage
    Handler.java:95
dispatchMessage
    MessageQueueThreadHandler.java:31
loop
    Looper.java:135
run
    MessageQueueThreadImpl.java:196
run
    Thread.java:818

My error in rn

1 个答案:

答案 0 :(得分:1)

问题是无法连接the packager server of react nativedevice (or) simulator

要解决此问题,需要连接the packager serverdevice (or) simulator

react native默认使用adb reverse tcp:8081 tcp:8081来连接the packager serverdevice (or) simulator。在android 5.0下有一些问题因为adb reverse在android下不支持5.0。但是,react native也支持使用相同的Wi-Fi网络。

解决

  • android 5.0(或)上面

    • 需要检查the packager server是否正在运行。 (某些OS不会像ubuntu那样自动运行,但您可以在项目目录中运行react-native start。)
    • 需要连接device (or) simulator。 (如果您正在使用设备,需要连接您的设备和计算机,并确保打开USB调试模式。如果使用模拟器,请务必打开模拟器。),(您可以使用adb devices命令检查步骤是否完成)
    • 再次运行react-native run-android(或)再次打开dev menu of react native,然后按Reload
  • 在android 5.0下面

    • 需要检查the packager server是否正在运行。 (某些OS不会像ubuntu那样自动运行,但您可以在项目目录中运行react-native start。)
    • 需要在同一wi-fi network上连接您的设备和计算机。并在您的设备上添加packager server IP dev menu > Dev Settings > Debug server host & port for device xxx.xxx.xxx.xxx:port}
    • 再次运行react-native run-android(或)再次打开dev menu of react native,然后按Reload

打开开发菜单

  • 设备

    按菜单按钮(或)摇动设备。
  • 模拟器

    Ctrl + M(或)Cmd + M

查找Packager Server主机

  • 计算机的IP。 (在unix上使用终端中的ifconfig(或)在Window上使用ipconfig。)
  • 端口(可在Packager Server Terminal上找到 localhost:8081