尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕

却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。


当前回答

我尝试了上面/下面的许多建议,但最终,我面临的问题是watchman的权限问题,它在之前使用homebrew安装。如果您在尝试使用模拟器时查看您的终端消息,并在模拟器上遇到关于watchman的“Permission denied”错误以及“Could not get BatchedBridge”消息,请执行以下操作:

进入您的/Users/<username>/Library/LaunchAgents目录并更改权限设置,以便您的用户可以读和写。这与你是否有一个com.github.facebook.watchman.plist文件无关。

其他回答

看到的问题:

1.react-native开始

2.单击设备上的“重新加载(R,R)”。

这对我来说是有效的(在尝试了我发现的所有其他解决方案之后…):

在\Android\sdk\platform-tools中运行adb reverse tcp:8081 tcp:8081

有人建议用下面这个

react-native运行android React-native start -reset-cache,

但在我的例子中,我只是关闭cli命令提示窗口,并使用以下命令。

npx react-native run-android

它运行得很好。

如果您正在使用expo,并且正在物理设备上运行它,我建议您关闭metro捆绑包,然后启动expo并尝试它

如果这些方法都不适合你,试试下面的方法:

我发现我的<根>/android/app/build/intermediates/assets/debug文件夹是空的,通过运行cd android && ./gradlew assembleDebug没有创建那些所需的文件,这些文件后来被javascript线程在我们的react原生应用程序中使用。

我手动运行了以下命令,调试构建命令应该在理想情况下创建。

node node_modules/react-native/local-cli/cli.js bundle --platform android --dev true --reset-cache --entry-file index.android.js --bundle-output /<path to dir>/android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest /<path to dir>/android/app/build/intermediates/res/merged/debug

在运行这些命令后,我发现在这个目录下有两个bundle文件<root>/android/app/build/intermediates/assets/debug

然后我再次运行cd android && ./gradlew installDebug我的应用程序重新开始工作。

将调试更多,并将更新实际上失败的内容。