在 react-native 中调用 Appregistry.runApplication 时出错
几天前,我遇到了与您目前遇到的几乎相同的问题。对我来说,这是一个真正的设备。
根据我的所有研究,对我有用的解决方案如下:
当您通过键入 启动您的应用程序时react-native run-android
,会出现错误。
因此,到达包含“adb.exe”的目录(对我来说是 C:\Users\username\AppData\Local\Android\Sdk\platform-tools\ )
从这里打开一个终端。并输入adb reverse tcp:8081 tcp:8081
然后,通过在手机上重新加载应用程序,它应该可以工作。
我希望这能帮到您 !!(如果没有,我可耻)
干杯;)
编辑 :
我找到了一个更方便的解决方案来解决这个问题。
当您启动“react-native run-android”时,您可能会有一条评论说“adb 未被识别为内部或外部命令...”
好吧,您可以添加一个指向 adb.exe 的环境变量,而不是手动使用 adb 命令。
只需进入“控制面板”>“系统和安全”>“系统”>“高级系统设置”。
从这里,单击“环境变量”。在“系统变量”部分搜索“路径”变量。单击它并按“编辑”按钮。
您可以在那里为该变量添加新路径。只需单击“新建”按钮并写入 adb.exe 路径。例如 C:\Users\username\AppData\Local\Android\Sdk\platform-tools\
(对于最旧的 Windows 版本,您必须在内容中添加“;C:\Users\username\AppData\Local\Android\Sdk\platform-tools\”。)
就是这样,现在adb reverse tcp:8081 tcp:8081
命令将在构建时自动运行。
希望这会对您有更多帮助!
我有同样的问题,我的解决方法是运行
$ react-native start
在后台然后运行
$ react-native run-android
据我说,这个错误发生在:
1)您没有在正确的位置运行打包程序,即您打错了运行 react-native packager 的文件夹,因此只需导航到您的项目目录并运行react-native start
.
2) 当您对 Appregistry module编写错误代码时。
3) 关闭所有 Xcode、打包程序、模拟器等,然后重新启动。
4)从错误中我想到一件事是module的名称
AppRegistry.registerComponent('AppName', () => componentName)
matches with the @"AppName" on your AppDelegate.m on the call for
[[RCTRootView alloc] initWithBundleUrl:...
moduleName:@"AppName"
launchOptions:...
5) 因为我们使用的是 react 的组件,所以我们需要给我们的类名的第一个字符加上大写。
6)让我们来看看什么是错的index.android.js
,并index.ios.js
干杯:)
最后,我让它工作了。我创建了一个新的 AVD
Nexus6 API 23
.Earlier我,试图Nexus5x API 23个.Thanks所有
我有同样的问题。碰巧 McAffee 在端口 8081 上并阻止打包程序。我的解决方案:
react-native start --port your_port
在安卓模拟器中,Command + M 显示开发菜单,点击“开发设置”,然后点击“调试服务器主机和端口”并将其设置为 your_ip:your_port。
然后
react-native run-android