adb调试连接不上解决方法

0x00 error: unknown host service

进adb shell时,明明已经打开设备的开发者模式,却还是连不上:

adb server is out of date.  killing...
ADB server didn't ACK
* failed to start daemon *
error: unknown host service

其实出现这问题很多是因为adb端口冲突,可能你电脑上除了在终端尝试用adb连接手机,还可能因为之前开的虚拟机,端口没有回收。或者,Android Studio、Eclipse、刷机软件等,只要通过adb和手机连接的软件都可能会和终端下的adb冲突。

那么问题又来了,为什么能开多个终端用adb连手机,在多个软件上用adb连接就会端口冲突呢?

因为终端下的adb,都是系统环境变量的adb,而大部分能够连接并调试手机的软件,装上它之时,它本身就会装adb,也就是说,它们有自带的adb.exe,而与系统环境变量的adb.exe不是同一进程,所以5037端口(adb连接手机的默认端口)就会被占用。

搞清楚问题的原因,我们就找解决办法:

  1. 在cmd下, 找到占用(Listening)5037端口的程序:
    inetstat -ano | findstr 5037 命令查找占用进程PID
  2. 在管理员模式下的Powershell或者cmd去kill进程:
    adb调试连接不上解决方法_第1张图片
    kill PID 命令, 杀掉占用进程
    注意: 一定要管理员模式, 否则PS/cmd没有权限杀进程
  3. 最后,能成功用adb连上手机:
    adb调试连接不上解决方法_第2张图片
    也可以 adb devices 查看是否有设备

0x01 emulator-5554 offline

问题
adb调试连接不上解决方法_第3张图片
解决方法

你可能感兴趣的:(adb调试连接不上解决方法)