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

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


当前回答

当你运行react-native run-android时,请检查是否有以下错误: adb服务器版本(XX)不匹配此客户端(XX);杀死……

在这种情况下,确保/usr/local/opt/android-sdk/platform-tools/adb和/usr/local/bin/adb指向同一个adb

在我的情况下,一个指向/Users/sd/Library/Android/sdk/platform-tools/adb (Android sdk),但另一个指向/usr/local/ caskroom /Android -platform-tools/26.0.2/platform-tools/adb (Homebrew)

问题已经修复后,他们都指向/Users/sd/Library/Android/sdk/platform-tools/adb (Android sdk)

其他回答

重启genymotion 运行react-native Run -android 问题解决了

当我们开始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。(成功了)

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

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

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

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

我最终不得不打开我正在使用的端口(默认为8081)。在Linux上,您可以执行以下操作

sudo iptables -A INPUT -p tcp --dport 8081 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 8081 -m conntrack --ctstate ESTABLISHED -j ACCEPT

您可以进行测试,看看是否真的需要这样做。只需在Android设备上的Chrome浏览器中导航到开发服务器。如果它没有响应,那么这可能就是您所需要的。如果它有响应,那么这对你没有帮助。