adb服务器已过期。谋杀

时间:2016-04-19 23:34:24

标签: android react-native adb android-sdk-tools

我正在使用本教程创建我的第一个反应原生项目:http://facebook.github.io/react-native/

在执行代码和运行react-native run-android时,我得到了:

adb server is out of date.  killing...
* daemon started successfully *

Android设备上的应用程序显然无效。

我重新安装了SDK,尝试adb kill-serveradb start-server,但似乎没有任何效果

我使用的是Android 4.4和Ubuntu 14.04

4 个答案:

答案 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(默认)。