仅使用react-native init AwesomeProject
中的默认代码,当我运行应用程序时,我得到'ReferenceError:无法找到变量:__ fbBatchedBridge(生成的包中的第1行)'。
而且,当我'重新加载JS'时,应用程序只有白色背景而不是任何“hello world”视图。我没有触及init中的任何代码。
任何想法如何解决错误?
使用:
答案 0 :(得分:33)
当打包器还没有启动时,我通常会看到这个。确保通过运行react-native start
运行答案 1 :(得分:12)
使用Visual Studio Android Emulator时遇到了同样的问题。当红色屏幕显示命令行中的类型
时adb shell input keyevent 82
这将触发摇动事件并启动开发菜单
然后点击Dev Settings&gt;调试服务器主机&amp;设备端口,然后输入<your ip adress>:8081
。如果由于某种原因您无法在字段中键入,则可以使用
adb shell input text <your ip adress>:8081
答案 2 :(得分:5)
我用这个命令解决了它
adb reverse tcp:8081 tcp:8081
答案 3 :(得分:3)
谢谢你rmevans9和Anonsage的答案!
我在Ubuntu上使用DomainStart = Datetime.now
并且没有菜单选项,无论如何这是对我有用的答案摘要:
创建项目
HTC One
在第一个控制台选项卡中运行并在开发时保持运行(
$ react-native init MyProject
$ cd MyProject/
替代):
react-native start
在第二个控制台选项卡中编译并安装项目(如果需要,将设备连接到USB):
$ npm start
修复$ react-native run-android
:
ReferenceError: Can't find variable: __fbBatchedBridge
查找本地IP地址,例如:
ifconfig
inet addr:192.168.0.3
- &gt; Dev Settings
部分中的Debug server host & port for device
并使用特定端口复制您的本地IP地址:
Debugging
(从第一个标签运行192.168.0.3:8081
时可以查看该端口)
然后转到/按npm start
Back
(以便在编辑时查看更改)Enable Live Reload
答案 4 :(得分:2)
根据文件
,这对我有用http://facebook.github.io/react-native/docs/running-on-device-android.html#content
使用adb reverse 请注意,此选项在运行android 5.0+(API 21)的设备上可用。
在启用调试的情况下通过USB连接设备(请参阅上面有关如何在设备上启用USB调试的段落)。
您可以使用Reload JS和其他开发选项而无需额外配置
答案 5 :(得分:1)
当我在packages.json
和build.gradle
文件中指定了不同的本机版本时,我遇到了这种情况。确保它们匹配,运行npm更新,并从android studio重建为我修复了这个问题。
答案 6 :(得分:1)
我遇到了同样的问题。
当我按照其他答案中提到的所有步骤进行操作时,我无法解决问题。
在我的情况下,firewall
阻止来自android的数据包。
答案 7 :(得分:0)
此外,如果您已经为iTunes商店提交了应用程序,还要确保您的jsCodeLocation返回到localhost,如下所示:
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
/**
* OPTION 2
* Load from pre-bundled file on disk. The static bundle is automatically
* generated by "Bundle React Native code and images" build step.
*/
//jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];