我试图运行Android模拟器一个反应原生应用程序,但我得到了如下的错误错误调用Appregistry.runApplication在反应母语
错误调用Appregistry.runApplication
AVD:“Nexus_5X_API_23(AVD) - 6.0 操作系统:Windows 10
请帮助在这?
我试图运行Android模拟器一个反应原生应用程序,但我得到了如下的错误错误调用Appregistry.runApplication在反应母语
错误调用Appregistry.runApplication
AVD:“Nexus_5X_API_23(AVD) - 6.0 操作系统:Windows 10
请帮助在这?
最后,我得到了它working.I创造了一个新的AVD
Nexus6 API 23
.Earlier我与Nexus5x API 23个 .Thanks所有
根据我这个错误出现时:
1)你没有运行在正确的地方即打包,你找错了文件夹,运行反应本地打包所以只要浏览到您的项目目录并运行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:...
5)的名字作为我们使用,所以我们需要给我们的类名与帽的第一个字符反应的成分上。
6)让我们来看看在index.android.js
和index.ios.js
干杯:)
“react-native start”适合我,谢谢。 – Giancarlos
@Codesingh谢谢你的答复。我检查了一切,因为你的意见。但它不工作,我得到同样的错误。我的index.android.js文件是https://gist.github。com/GopeshMedayil/eab9ba6c3b31c3798eb083b0cb0ccc93 – Gopesh
你的班级名称不是以大写字母开头,所以要使它正确可能会工作.. – Codesingh
是错的我有同样的问题,并能够通过设置我的本地计算机中的Android模拟器调试服务器来解决它。打开android模拟器Command + M
调出一个菜单,然后点击“开发设置”,然后点击“调试服务器主机和端口”并将其设置为127.0.0.1:8081。然后从你的项目目录运行react-native run-android
。我希望这有帮助。
我几乎有同样的问题,你目前几天前。对我来说这是一个真正的设备。
从我的研究,为我工作的解决方案是:
当你键入react-native run-android
启动您的应用程序时,会出现错误。
所以,达到你含 “adb.exe” 目录(对我来说是C:\ Users \用户名\ AppData \本地\ Android的\ SDK \平台工具\)
从这里打开一个终端。并输入adb reverse tcp:8081 tcp:8081
然后,通过在手机上重新加载应用程序,它应该工作。
我希望这会帮助你!(如果没有,可耻的是我)
干杯;)
编辑:
我已经找到一个更方便的解决方案来解决这个问题。
当您启动“反应原生运行Android的”你可能有一个评论说:“亚行不被识别为内部或外部命令......”
好,而不是使用ADB命令手动,您可以添加通往adb.exe的环境变量。
只需进入“控制面板”>“系统和安全”>“系统”>“高级系统设置”。
从这里点击“环境变量”。在“系统变量”部分搜索“路径”变量。点击它并按下“编辑”按钮。
在那里你可以添加一个新的路径到这个变量。只需点击“新建”按钮并写入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
命令将在构建时自动运行。
希望这会更帮助你!
我想有同样的问题。发生这种情况的原因是McAffee在端口8081上,并封锁了打包程序。 我的解决方案:
react-native start --port your_port
在Android模拟器,命令+ M显示开发菜单,点击“开发设置”,然后单击“调试服务器主机和端口”,并设置它your_ip:your_port。
然后
react-native run-android
我有完全相同的问题(因为这是一个非常通用的消息),但问题是不同的。在我的情况下,这是一个新创建的项目,模拟器没有工作,但真正的设备确实工作。
我的问题是观察者的限制inotify
默认情况下可以在Linux上处理,这是一个Linux内核子系统,用于扩展文件系统以注意对文件系统的更改,并将这些更改报告给应用程序并广泛使用,包括Android工作室和反应原生;当我试图执行react-native run-android
时,所有观察者都被分配到我的系统上,导致进程在此消息上失败。
要改变观察者的最大数量的inotify可以处理,你需要编辑文件sysctl.conf
,这将通常位于/etc/sysctl.conf
或/etc/sysctl.d/custom_name.conf
,并添加以下行:
fs.inotify.max_user_watches = 5242881
写你的文件后需要执行sysctl -p filename.conf
其中'filename.conf'是保存sysctl的.conf文件的路径和名称。应用更改后,所有内容都应按预期工作。
我有同样的问题,我的修补程序是在后台运行
$ react-native start
然后运行
$ react-native run-android
问题仍然没有解决这个方法。 –
它适合我。我使用的是Ubuntu 16.04。我在终端运行start命令,在另一个终端运行run-android。 –
我的问题解决了。完美运作。在终端运行命令的一个标签中:react-native start和其他标签运行命令:react-native run-android –
我也有同样的问题。我解决了在真实设备上运行的问题。
至于说绝地先生,MCAFFEE阻塞端口8081。所以我已经修改项目,文件夹> \ node_modules \反应母语\本地CLI \ runAndroid \ runAndroid.js文件的功能从
function tryRunAdbReverse(device) {
try {
const adbPath = getAdbPath();
const adbArgs = ['reverse', 'tcp:8081', 'tcp:8081'];
到
function tryRunAdbReverse(device) {
try {
const adbPath = getAdbPath();
const adbArgs = ['reverse', 'tcp:8081', 'tcp:3040'];
并开始
react-native start --port 3040
通过更改端口仍然没有解决问题。 –
应用确保端口8081可用。在我的情况下,我的一个服务正在端口8081(tomcat webserver)上运行。
对我来说,我只需要将平台工具添加到我的Path环境变量中,以便react-native可以启动adb服务器。
我得到:
'adb' is not recognized as an internal tool or program
为了解决这个问题,我添加下面我Path
环境变量。
C:\Users\<Username>\AppData\Local\Adnroid\sdk\platform-tools
然后运行react-native run-android
工作!
我知道这个问题已经给了这么多答案,但是,我认为值得添加我的解决方案,希望这可以帮助那里的人。
在我的情况下,问题来自我的虚拟机,虽然我没有调查,但通过创建一个新的虚拟设备,应用程序顺利运行没有问题。
因此,只需创建一个新的虚拟设备。 :)
在我的情况下(之后,当然,经历了我可以在这里和其他地方找到的所有东西),我意识到我已经在手机上关闭了我的WiFi ......不能这样工作!希望它可以帮助别人
我有与Nexus6 API 23相同的问题,我已经修复它像这样 –