尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕
却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。
尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕
却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。
当前回答
我也遇到了同样的问题,但这是我自己犯的一个愚蠢的错误……
从Android工作室,我从应用程序项目而不是根项目启动installDebug/installRelease gradle脚本。
其他回答
我的方法是:
react-native start
之后在您的设备中使用:
click to Reload.
在console react-native中,它将获取js bundle data。
对我来说,问题是“adb”不被识别-检查这个答案。
要修复此问题,将C:\Users\USERNAME\AppData\Local\Android\sdk\platform-tools添加到环境变量中
它“随机”出现了这个问题,我花了一段时间才意识到我的场景中哪里出了问题。
在我更新到React-native-cli 2.0.1后,有一条消息输出到日志中,帮助我挖掘并找到根本原因:
JS服务器无法识别,继续构建…
在研究了一些链接后,我发现了这个:
无法识别JS服务器
因为我在windows上,我运行netstat,发现我的VLC播放器也在8081端口上运行,导致了这个问题。 所以,在我的情况下,如果我启动vlc服务器之前的反应本机服务器,它不会工作。
在之前版本的react-native-cli中没有输出相同的日志消息,使其无声地失败。
TL, DR:检查与包管理器(默认为8081)相同的端口上是否有任何东西正在运行
当我们开始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
然后我从设备上再次打开应用程序,它又开始工作了。
编辑:如果你通过USB使用android设备,并且拔掉了USB插头,或者你的电脑处于休眠状态,你可能需要先运行
adb reverse tcp:8081 tcp:8081