在react-native中调用Appregistry.runApplication时出错

Gop*_*esh 47 javascript android reactjs react-native

我试图在Android模拟器上运行一个react-native应用程序,但我收到的错误就像

调用Appregistry.runApplication时出错

AVD:'Nexus_5X_API_23(AVD) - 6.0操作系统:Windows 10

在此输入图像描述

请帮忙吗?

Swa*_*nge 35

我几天前遇到了几乎相同的问题.对我来说这是一个真正的设备.

从我的所有研究中,对我有用的解决方案如下:

通过键入启动应用程序时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命令将在构建时自动运行.

希望这会更有助于你!

  • 使用真实设备时效果很好.谢了哥们! (4认同)
  • 问题可能是由于手机无法在计算机的端口8081上到达调试服务,因为它们位于不同的网络(例如LTE与WiFi),而adb reverse命令将流量从手机重定向到计算机. (2认同)

dud*_*aus 24

我遇到了同样的问题,我的修复是运行

$ react-native start
Run Code Online (Sandbox Code Playgroud)

在后台然后运行

$ react-native run-android
Run Code Online (Sandbox Code Playgroud)


Cod*_*ngh 17

据我说这个错误来自:

1)您没有在正确的位置运行打包程序,即,您点击了错误的文件夹以运行react-native packager,因此只需导航到项目的目录并运行即可react-native start.

2)当您对Appregistry模块进行错误编码时.

3)关闭所有Xcode,打包器,模拟器等,然后重新启动它.

4)从错误中我想到的一件事是模块的名称

AppRegistry.registerComponent('AppName', () => componentName)

matches with the @"AppName" on your AppDelegate.m on the call for

[[RCTRootView alloc] initWithBundleUrl:...
                            moduleName:@"AppName"
                         launchOptions:...
Run Code Online (Sandbox Code Playgroud)

5)因为我们正在使用react的组件,所以我们需要给出带有大写字母的类名的第一个字符.

6)让我们来看看什么是错的index.android.js,并index.ios.js

干杯:)

  • "反应原生的开始"对我有用,谢谢. (5认同)

Gop*_*esh 2

最后,我让它工作了。我创建了一个新的 AVD

Nexus6 API 23

.早些时候我尝试使用Nexus5x API 23 .谢谢大家