尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕
却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。
尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕
却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。
当前回答
我在设备Z3 Compact D5803 - 6.0.1上有同样的异常
我打开。buckconfig文件并修改了这一行:
target =谷歌Inc.:谷歌api:23
to
target =谷歌Inc.:谷歌api:24
因为我在SDK管理器中看到Android 6。X的api级别为24。
其他回答
当我们开始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-cli 2.0.1后,有一条消息输出到日志中,帮助我挖掘并找到根本原因:
JS服务器无法识别,继续构建…
在研究了一些链接后,我发现了这个:
无法识别JS服务器
因为我在windows上,我运行netstat,发现我的VLC播放器也在8081端口上运行,导致了这个问题。 所以,在我的情况下,如果我启动vlc服务器之前的反应本机服务器,它不会工作。
在之前版本的react-native-cli中没有输出相同的日志消息,使其无声地失败。
TL, DR:检查与包管理器(默认为8081)相同的端口上是否有任何东西正在运行
您的应用程序已经在运行,然后停止并再次运行% NPX react-native run-ios
我也有同样的问题。当我通过create-react-native-app AwesomeProject创建一个react原生项目时,它在手机上的Expo应用程序中工作得很好。在那之后,我想用那个快速启动项目来开发我的项目,得到了和你一样的错误。
经过一些研究,我发现最好用react-native init AwesomeProject启动新项目(所有设置都在react native docs中)然后运行以下命令:
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
这应该会修复bundle的问题(——dev false没有显示警告)
你需要做的就是让app在你的虚拟/真实设备上运行:
react-native run-android
它应该能正常工作。至少对我有用。
在我的情况下,它是jsEngine: 'hermes'下的android分段,删除它固定的生产构建。