尝试在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时,我也得到了这个,使用物理设备。如果是这样的话,你需要在开始之前做一些额外的事情。你必须在React Native的“Dev Settings”中输入一些关于你的开发机器的信息。

当你看到错误时,摇动你的设备。一个对话框将弹出,最后一个选项将是“开发设置”。选择“调试服务器热和设备端口”,输入您的本地IP和使用的端口(通常是8081)。

见https://facebook.github.io/react-native/docs/running-on-device-android.html的最后一段

尝试清理缓存

React-native start -reset-cache

看到的问题:

1.react-native开始

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

我也遇到过这个问题。 我所做的就是强制关闭我设备上的应用,然后打开另一个控制台并运行

react-native start

然后我从设备上再次打开应用程序,它又开始工作了。

编辑:如果你通过USB使用android设备,并且拔掉了USB插头,或者你的电脑处于休眠状态,你可能需要先运行

adb reverse tcp:8081 tcp:8081

我在设备Z3 Compact D5803 - 6.0.1上有同样的异常

我打开。buckconfig文件并修改了这一行:

target =谷歌Inc.:谷歌api:23

to

target =谷歌Inc.:谷歌api:24

因为我在SDK管理器中看到Android 6。X的api级别为24。