在测试设备上安装Android O预览后,我的ADB停止工作并开始给我这个错误.
adb server version (36) doesn't match this client (39); killing...
adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:333] Could not open interface: e00002c5
adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:294] Could not find device interface
error: could not install *smartsocket* listener: Address already in use
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon
我在这个问题上遇到的唯一答案是Genymotion与ADB不同步,但我不使用Genymotion.任何帮助将不胜感激.我已经擦除并重新安装了Android Studio及其所有工具和设置,但似乎仍然存在此问题.
Ale*_*ecs 91
这对我有用......
Den*_*eev 49
在我的情况下,当我设置我的环境adb路径时发生这个错误~/.android-sdk/platform-tools
(例如当安装了自制软件时安装了android-platform-tools),版本是36,但是Android Studio项目有Android SDK下一条路径~/Library/Android/sdk
adb版本是39 .
我已将PATH更改为平台工具~/Library/Android/sdk/platform-tools
,错误已解决
ish*_*hak 20
首先,请从标题中删除"{Not using Genymotion}".它分散了像我这样不知道Genymotion是什么的读者.这里荒谬的是你得到一个答案,21分,说"去GenyMotion设置"......
所有其他人都错过的要点是,当您在后台运行adb进程时,您将收到此错误.所以第一步是找到并杀死它:
ps aux | grep adb
user 46803 0.0 0.0 2442020 816 s023 S+ 5:07AM 0:00.00 grep adb
user 46636 0.0 0.0 651740 3084 ?? S 5:07AM 0:00.02 adb -P 5037 fork-server server
Run Code Online (Sandbox Code Playgroud)
当你找到它时,你可以使用它来杀死它kill -9 46636
.
就我而言,问题是来自GapDebug 的旧版adb.如果你使用GapDebug得到这个,那就离开它吧
adb kill-server
adb start-server
Run Code Online (Sandbox Code Playgroud)
因为在后台使用GapDebug,当你杀死adb服务器时,GapDebug会立即启动它自己的副本,导致启动服务器被忽略
您有两个版本的ADB
$ /usr/local/bin/adb version
Android Debug Bridge version 1.0.36
Revision 0e9850346394-android
$ /Users/user/Library/Android/sdk/platform-tools/adb version
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
你可以看到你的PATH指向哪一个(echo $PATH
)但是我用adb stop-server
一个版本和一个版本修复了它adb start-server
.
我有同样的错误.就我而言,使用Appium,我有两个版本的ADB
$ /usr/local/bin/adb
版本36
和
$ /Users/user/Library/Android/sdk/platform-tools/adb
版本39
解决方案是:
确保bash_profile中的$ PATH指向: /Users/user/Library/Android/sdk/platform-tools/
停止adb服务器:adb kill-server
并检查Appium是否已停止.
删除adb版本36(或者您可以将其重命名为备份): rm /usr/local/bin/adb
启动adb服务器:adb start-server
或者只是启动Appium
小智 6
我在Android Studio中遇到了相同的问题-adb服务器版本(37)与该客户端(39)不匹配。我通过以下解决方案解决了:
在Android Studio中,转到工具-> Android-> SDK管理器
在“ SDK工具”选项卡中,取消选中“ Android SDK平台工具”,单击“应用”以进行卸载。
然后,我将Platform-Tools文件夹重命名为Platform-ToolsOld
然后回到SDK Manager,重新勾选Platform-Tools以重新安装。
如此处其他人所提到的,您可能正在运行两个adb ...并从Linux机器角度添加这些答案(适用于使用Linux的下一个新手);
卸载发行版的android工具(使用zypper或yum等)
# zypper -v rm android-tools
Run Code Online (Sandbox Code Playgroud)查找其他adb在哪里
# find /home -iname "*adb"|grep -i android
Run Code Online (Sandbox Code Playgroud)
说是在;
/ home / developer / Android / SDK / platform-tools / adb
然后在/ usr / bin文件夹中对其进行软链接
ln -s /home/developer/Android/Sdk/platform-tools/adb /usr/bin/adb
Run Code Online (Sandbox Code Playgroud)然后;
# adb start-server
Run Code Online (Sandbox Code Playgroud)