Ubuntu下运行adb devices找不到设备的问题

问题描述

Windows下安装Android studio,里面含有Android SDK,自动包含了adb在内的很多工具包;因开发需要,在WSL中安装了Ubuntu,分别是18和22的,其中也分别安装了Android SDK,官网下载,可以运行adb命令。

本来在Windows下和Ubuntu下都可以直接使用,但是今天上来在Ubuntu下突然找不到设备了,运行adb devices,显示:

shell 复制代码
List of devices attached
adb server version (41) doesn't match this client (39); killing...
* daemon started successfully

再次运行命令,依旧是空列表:

shell 复制代码
List of devices attached

问题原因

执行一些简单操作:

shell 复制代码
adb kill-server
adb start-server

* daemon not running; starting now at tcp:5037
* daemon started successfully

依旧找不到:

shell 复制代码
List of devices attached

在Windows下试一下:

shell 复制代码
adb server version (39) doesn't match this client (41); killing...
* daemon started successfully
List of devices attached
c731111d        device

发现虽然也有不匹配的问题,但是是可以找到设备的。

有趣的是,这2个地方adb server,adb client的相反的,逛了一下Stackoverflow,可能是版本的问题。在Windows下和Ubuntu下的adb版本不同。

问题解决

Windows下运行:

shell 复制代码
C:\Users\xxx\AppData\Local\Android\Sdk\platform-tools\adb --version

显示:

shell 复制代码
Android Debug Bridge version 1.0.41
Version 34.0.4-10411341
Installed as C:\Users\xxx\AppData\Local\Android\Sdk\platform-tools\adb.exe
Running on Windows 10.0.18363

Ubuntu下运行:

shell 复制代码
adb --version

显示:

shell 复制代码
Android Debug Bridge version 1.0.39
Version 1:8.1.0+r23-5~18.04
Installed as /usr/lib/android-sdk/platform-tools/adb

先把Windows的让他不起作用(重命名或者移出环境),在Ubuntu下接着尝试,发现

shell 复制代码
$ adb start-server

adb server version (41) doesn't match this client (39); killing...
ADB server didn't ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 16935
--- adb starting (pid 16935) ---
adb I 09-21 14:38:17 16935 16935 main.cpp:57] Android Debug Bridge version 1.0.39
adb I 09-21 14:38:17 16935 16935 main.cpp:57] Version 1:8.1.0+r23-5~18.04
adb I 09-21 14:38:17 16935 16935 main.cpp:57] Installed as /usr/lib/android-sdk/platform-tools/adb
adb I 09-21 14:38:17 16935 16935 main.cpp:57] 
adb I 09-21 14:38:17 16935 16935 adb_auth_host.cpp:416] adb_auth_init...
adb I 09-21 14:38:17 16935 16935 adb_auth_host.cpp:174] read_key_file '/home/xxx/.android/adbkey'...
adb I 09-21 14:38:17 16935 16935 adb_auth_host.cpp:391] adb_auth_inotify_init...
adb server killed by remote request

* failed to start daemon
error: cannot connect to daemon

没有启动成功,而这里报的错误是adb所在路径并不是我们所安装的路径【那是什么时候安装的呢?】,我们所安装的只有在自己当时下载解压的位置,检查版本:

shell 复制代码
~/tools/platform-tools/adb --version

结果:

shell 复制代码
Android Debug Bridge version 1.0.41
Version 34.0.4-10411341
Installed as /home/gy/tools/platform-tools/adb
Running on Linux 4.4.0-18362-Microsoft (x86_64)

这个才是我们需要的,版本也是正确的

参考资料

相关推荐
XH-hui2 小时前
【打靶日记】TheHackerLabs 之 THLPWN
linux·网络安全·thehackerlabs·thl
抛砖者7 小时前
1、Ubuntu上MySQL安装,密码设置,远程访问,端口修改
mysql·ubuntu
小兔薯了8 小时前
11. Linux firewall 防火墙管理
linux·运维·服务器
gcygeeker8 小时前
安卓 4.4.2 电视盒子 ADB 设置应用开机自启动
android·adb·电视盒子
Linux技术芯8 小时前
浅谈SCSI寻址机制与工作阶段深度解析?
linux
☼←安于亥时→❦10 小时前
Linux 系统日志‘/var/log/syslog‘ 和 ‘/var/log/messages‘ 详解
linux
袁气满满~_~10 小时前
Ubuntu下配置PyTorch
linux·pytorch·ubuntu
倦王10 小时前
Linux看ip,改用户名字加权限,在单独用户下设置miniconda
linux·服务器·tcp/ip
少废话h10 小时前
Flume Kafka源与汇的topic覆盖问题解决
java·linux·kafka·flume
凤凰战士芭比Q11 小时前
Docker安装与常用命令
linux·运维·docker·容器