当前位置:  开发笔记 > 编程语言 > 正文

adb服务器版本与此客户端不匹配

如何解决《adb服务器版本与此客户端不匹配》经验,为你挑选了12个好方法。

每当我尝试运行时adb devices:

            $ adb devices
            * daemon not running. starting it now *
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

它说守护进程没有运行并重新启动守护进程.

然后,如果我再次运行adb设备,它会做同样的事情 -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

然后,如果我再次运行它,它再次做同样的事情 -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

请帮忙!!

此外,我的DDMS不断给我以下消息 -

[2011-02-23 16:17:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host

以下是adb重启之前的日志 -

              1291        locapi_rpc_glue  V  loc_ioctl
              1291                    RPC  D  written RPC packet size: [480]
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [28]
              1291             lib_locapi  V  qct_loc_eng_inject_xtra_data, inject part = 100, len = 167, len = 167
              1291             lib_locapi  V  qct_loc_eng_inject_xtra_data, total part = 100, len = 167
              1291        locapi_rpc_glue  V  loc_ioctl
              1291                    RPC  D  written RPC packet size: [248]
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [28]
              1291             lib_locapi  D  qct_loc_eng_inject_xtra_data: injected 39767, SUCCESS
              1291             lib_locapi  V  inject_xtra_waiting = flase
              1291    GpsLocationProvider  D  Releasing wakelock
              1291            WifiService  D  releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@47aead50}
              1291            WifiService  D  enable and start wifi due to updateWifiState
              1218            rmt_storage  I  rmt_storage open event
              1218            rmt_storage  I  rmt_storage client thread started
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage register cb event
              1218            rmt_storage  I  rmt_storage status id = 2
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage open event
              1218            rmt_storage  I  rmt_storage client thread started
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage register cb event
              1218            rmt_storage  I  rmt_storage status id = 2
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage write event
              1218            rmt_storage  I  unblock rmt_storage client thread
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage write: bytes written = 3145216
              1218            rmt_storage  I  rmt_storage write: bytes written = 512
              1218            rmt_storage  I  rmt_storage status handle = 1
              1291       BatteryStatsImpl  I  notePhoneSignalStrengthLocked: 4->3
              1218            rmt_storage  I  rmt_storage write event
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  unblock rmt_storage client thread
              1291    PowerManagerService  D  New lightsensor value:40, lcdValue:143
              1291    PowerManagerService  D  lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3
              1218            rmt_storage  I  rmt_storage write: bytes written = 3145216
              1218            rmt_storage  I  rmt_storage write: bytes written = 512
              1218            rmt_storage  I  rmt_storage status handle = 2
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [80]
              1291        locapi_rpc_glue  V  Callback received: 80 (cb_id=0x50B0000 handle=1)
              1291                    RPC  D  written RPC packet size: [28]
              1470   usicWidgetController  D  unbindMusicPlaybackService()
              1707   MediaPlaybackService  E  BadQueue mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
              1291    NotificationService  V  Battery Full, Charging
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0 0,len=3
              1291                 lights  E  write ok string=1,len=1
              1707       MediaPlayer.java  D  setOnCompletionListener being cleaned to null
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0 0,len=3
              1291    NotificationService  V  Turn off Jogball/OJ LED
              1291    NotificationService  D  cancelNotification, ACTION_NOTIFICATION_REMOVE,pkg=com.htc.music,id=1
              1291           AudioService  I   AudioFocus  abandonAudioFocus() from android.media.AudioManager@476ddee0com.htc.music.MediaPlaybackService$5@476dd838

Aditya Kresn.. 298

您是否正在将Genymotion用于虚拟设备?

如果是这个错误可能是因为来自Genymotion的ADB与来自Android SDK的ADB(使用相同的端口号)冲突,要解决这个问题,只需转到settings=>选择ADB标签=>单击该选项Use custom Android SDK Tools并设置您的SDK文件夹

在此输入图像描述

配置此之后,尝试进入文件夹,重新启动ADB platform-toolsadb放置并做下面的命令:

./adb kill-server

./adb start-server

*提示:在运行上述命令之前,您可以关闭Genymotion的过程

希望这有帮助.



1> Aditya Kresn..:

您是否正在将Genymotion用于虚拟设备?

如果是这个错误可能是因为来自Genymotion的ADB与来自Android SDK的ADB(使用相同的端口号)冲突,要解决这个问题,只需转到settings=>选择ADB标签=>单击该选项Use custom Android SDK Tools并设置您的SDK文件夹

在此输入图像描述

配置此之后,尝试进入文件夹,重新启动ADB platform-toolsadb放置并做下面的命令:

./adb kill-server

./adb start-server

*提示:在运行上述命令之前,您可以关闭Genymotion的过程

希望这有帮助.


在运行上述命令之前,必须关闭任何genymotion模拟器.

2> Arunabh Das..:

我从我的电脑上卸下了戴尔PC套件和HTC Sync,这个问题就消失了.

编辑:详细说明这个问题的原因:HTC同步带有自己的ADB服务器.它会更新您的PATH环境变量以指向其服务器版本.编辑PATH变量并删除对HTC Sync目录的引用.现在,您再次使用Google的ADB.


HTC Sync是个问题.它在后台持续运行,导致与adb.exe冲突

3> Andy..:

我发现我偶尔需要手动显式杀死并重启服务器:

adb kill-server
adb start-server

这种冲击通常足以让它再次站起来,并防止重复的adb server is out of date. killing...消息.


杀戮和重新启动对我不起作用.

4> CJBS..:
确保没有其他adb进程在运行

系统上可能运行多个adb进程.诸如Android Reverse Tether之类的工具可能使用他们自己版本的adb工具,因此内存中的版本可能与从命令行运行的版本(通过路径变量)冲突.

视窗

在Windows中,按CTL+ Shift+ ESC访问"任务管理器",在" 图像名称"列中排序,然后adb.exe通过右键单击并选择" 结束进程"终止所有实例.请注意,下面有多个实例adb.exe:

多个adb.exe实例 - 如何杀死

Linux(Android)

在Linux环境中,只需使用该kill -9命令即可.这样的东西在运行的Android设备上工作adb(使用ps输出,搜索grep用于开始adb的进程,从adb进程获取进程ID ,并将该ID发送到kill -9命令):

kill -9  $(ps  | grep "S adb" | busybox awk '{print $2}')

然后,重新启动adb

一旦解决了adb进程 - 从而解决冲突 - 然后再次adb从命令行重试:

adb start-server



5> Rohan_Paul..:

在我的机器(Ubuntu 14.04和Genymotion 2.5.2)中,问题的根源是,我有2个不同版本的adb文件.

(之前,缩小这个问题来源,我已经有了Genymotion的设置>"使用自定义Android SDK工具",参考我的机器安装的Android SDK目录,如Aditya Kresna Permana所建议.我也试过杀死并启动adb服务器和其他一些来自网络的解决方案).

然后看到,adb version从我的Android SDK安装目录"〜/ Android/Sdk/platform-tools"生成 - "Android Debug Bridge version 1.0.32"

但是,adb version从"/ usr/bin"目录生成的命令 - "Android Debug Bridge version 1.0.31"

所以只需按照http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb更新"/ usr/bin"中的adb即可

# adb version
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
# sudo mv adb /usr/bin/adb
# sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32

现在运行adb devices完全按预期工作.

它还解决了在我的PhoneGap(Cordova)应用程序没有与Genymotion的虚拟设备集成之前的相关问题.现在显然问题也解决了.



6> AKh..:

这是因为您运行的SDK不是SDK中包含的adb.如果在linux上检查adb二进制文件在哪里

which adb
Expected Output : ANDROID_SDK/platform-tools/adb

如果没有指向ANDROID_SDK/platform-tools/adb,那么您运行的是安装在计算机上不同位置的某个旧版本的adb.

除了提供SDK之外,运行adb没有错,但缺点是当更新android SDK时它不会自动更新,这就是你遇到这个过时版本问题的原因.

更容易修复并避免此问题在将来将旧的(误导性的)adb二进制文件重命名为其他内容.

按照步骤解决此问题.

$ which adb
*o/p /usr/bin/adb  -   (output will depend on your machine)*
$ cd /usr/bin/
$ ls -lt | grep adb
*o/p -rwxr-xr-x 1 root   root      160912 Mar 31  2016 adb*
$ sudo mv adb adb_bakup
$ ls -lt | grep adb
o/p -rwxr-xr-x 1 root   root      160912 Mar 31  2016 adb_bakup
$ export PATH="/path/to/android_sdk/platform-tools:$PATH"
$ which adb  
*o/p /platform-tools/adb*   ---> You are all good now



7> Nemi..:

我刚刚退出HTC Sync,再次尝试,它运作良好.注意:手机变黑(锁定),我只是打开它,我的应用程序正在运行.:)



8> Kyle s..:

系统:Windows 10

我的问题:将Genymotion设置为指向自定义SDK没有任何影响.我还是收到了:

无法在Android上启动项目:无法安装smartsocket 侦听器:无法绑定到127.0.0.1:5037:通常只允许使用每个套接字地址(协议/网络地址/端口).(10048)无法从ADB Server读取ok*无法启动守护程序*错误:无法连接到守护程序

我发现在整个系统中使用的ADB版本存在差异.这是我用来找到它们的命令:

where /r C:\ adb.exe

这产生了结果:

C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe

导航到每个目录并运行:

adb.exe version

让我看看世博正在运行亚行版:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android

使用自定义SDK的Genymotion有版本(c:\ Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe):

Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

作为测试,我从adb文件(adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll)中取出

c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe

并将它们放入备份文件夹中.然后我移动了位于的adb文件

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe

进入同一个地方.我杀了adb:

adb kill-server

由于我的Genymotion设备已经运行,导致adb服务器自动重启.我点击了Expo XDE内部的"重启"按钮,它立即开始工作.上午1:13:04点击重启按钮的日志:

12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).

结论:Genymotion和Expo可能需要使用相同版本的adb,以便Expo可以与模拟设备正确通信.将Genymotion指向您的Android SDK位置以及确保Expo XDE具有相同版本将允许设备之间的正确通信.我将Expo XDE版本移动到SDK位置,但您可以采用其他方式(获取sdk ADB文件并将它们放置在Expo XDE资源位置).

PS 我已经完成了与此问题相关的stackoverflow帖子.这样你们就知道我的任务管理器显示了三个运行adb.exe的实例.如果你杀了其中任何一个,他们就会回来.

希望这有助于/欢呼



9> Eric Cloning..:

看起来设备上的ADB守护程序(adbd)与主机上的ADB服务器进程不同意它们所说的协议版本.您正在运行哪个版本的SDK以及您正在调试的设备上的操作系统版本是什么?

您可能需要做的是实际降级SDK工具的版本,以便ADB守护程序和进程达成一致.我认为服务器进程是完全向后兼容的,但这可能是其中一个不支持的极端情况之一.谷歌没有宣传你可以获得他们旧的SDK工具包的事实,但可以通过查看http://developer.android.com上的档案区找到它们.



10> 小智..:

我只是完全关闭了htc sync应用程序并再次尝试.它按预期工作.



11> 小智..:

我在这个墙上撞到墙上.当我安装最新版本的HTC sync(3.0.5579)时,就开始发生这种情况.由于某种原因,adb.exe在任务管理器中多次出现,我得到的adb服务器已经过时多次杀死错误.我在HTC同步目录和Android SDK platform-tools目录中找到了adb.exe版本.我的路径设置正确指向android SDK目录,没有看到HTC Sync路径(也许我错过了什么,但我不这么认为).无论如何,为了解决这个问题,我只是在HTC Sync目录中重命名了adb.exe文件,一切都恢复了.这可能不是解决这个问题的正确方法,但它对我有用.



12> 小智..:

帮助我:停止HTC Sync(在系统托盘中)并重命名HTC的adb.exe(C:\ Program Files(x86)\ HTC\HTC Sync 3.0\adb.exe).

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有