我正在使用本教程创建我的第一个反应原生项目:http://facebook.github.io/react-native/
在执行代码和运行react-native run-android
时,我得到了:
adb server is out of date. killing...
* daemon started successfully *
Android设备上的应用程序显然无效。
我重新安装了SDK,尝试adb kill-server
和adb start-server
,但似乎没有任何效果
我使用的是Android 4.4和Ubuntu 14.04
答案 0 :(得分:23)
打开Android Studio,然后更新所有构建工具,安装设备所需的SDK,并确保将ANDROID_HOME
env var设置为与Android Studio中相同的目录(通常在/home/you/Android/Sdk
),还更新react-native-cli节点包。运行adb kill-server
和adb start-server
。
可能你会遇到adb版本的问题,只需更改你的bin:
sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb
sudo chmod +x /usr/bin/adb
答案 1 :(得分:11)
在最新的adb
更新中, adb服务器已过期。已被 adb服务器版本(%d)替换为该客户端(%d)
所以这个解决方案适用于两者。
错误的根本原因是您的系统安装了多个adb
不同版本的二进制文件。这些adb
二进制文件可能来自不同的来源 - 与一些开发工具一起分发,甚至可以从您的Linux发行版官方存储库中安装。我强烈建议不要使用任何这些来源。 adb
的最新版本的官方来源是 Android SDK 中的platform-tools
包。 adb
tag info page包含指向包的直接链接。
因此,如果您已经安装了 Android SDK ,只需使用 SDK Manager 将platform-tools
包更新到最新版本。如果不是 - 将您平台的platform-tools.zip
文件的内容下载并解压缩到文件夹。将该文件夹添加到$PATH
。现在终止所有正在运行的adb
进程,并确保找到adb
的所有其他副本并删除它们。在极少数情况下,某些软件可能会停止工在这种情况下,您需要更改该应用程序的内部设置,告诉它在哪里找到新的二进制文件,或者如果应用程序使用硬编码的adb
位置 - 只需创建一个符号链接到新位置。
那就是它。没有更多的服务器/客户端版本不匹配。虽然您可能需要在安装另一个预装了自己的adb
副本的软件后重复此过程。
答案 2 :(得分:7)
除了SDK之外,您可能还安装了javascript
软件包。在那种情况下,一个
adb
可能会解决问题。
答案 3 :(得分:1)
我使用ADB(1.0.32)和Genymotion(2.8.2)收到此错误。我的解决方案是将VM的ADB从我的本地Android SDK的ADB更改为Genymotion ADB(默认)。