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

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


当前回答

当我们开始react native项目#1时,大多数人都是第一次面对这个问题。

几个简单的步骤解决了我的问题:

我使用命令创建了一个示例项目:

react-native init ReactProject1

解决方案

修复是帮助local-cli\runAndroid\adb.js找到adb.exe,方法与local-cli\runAndroid\runAndroid.js相同:

\node_modules\react-native\local-cli\runAndroid . find replace statement under projectname(不管你给了什么

替换:

const devicesResult = child_process.execSync('adb devices');

By:

const devicesResult = child_process.execSync( (process.env.ANDROID_HOME ? process.env.ANDROID_HOME + '/platform-tools/' : '') + 'adb devices');

在完成上述替换后,只需在cmd中运行react-native run-android,它将捆绑apk,并首先尝试在您的设备中本地安装js bundle。(成功了)

其他回答

我的方法是:

react-native start

之后在您的设备中使用:

click to Reload.

在console react-native中,它将获取js bundle data。

有人建议用下面这个

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

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

npx react-native run-android

它运行得很好。

在单独的终端上,将您的设备连接到计算机并运行以下命令:

react-native start 
cd user/Library/Android/sdk/platform-tools/
./adb reverse tcp:8081 tcp:8081

应用终端:

react-native run-android 
install apk on your device from this location android/app/build/outputs/apk/app-debug.apk

刚刚得到这个错误。以下是我所做的调整: 我选择解散,进入开发人员菜单,然后是开发人员设置, 为设备选择调试服务器主机和端口,我添加了我的计算机的IP地址和端口:192.168.0。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。端口通常为:8081

一旦我这样做了,一切都很顺利。此外,当你在开发菜单中,记得选择启用Live Reload和Debug JS远程,它会让你的调试工作更加容易。

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

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