adb运行异常的故障排除

Posted mrleopard

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb运行异常的故障排除相关的知识,希望对你有一定的参考价值。

总结几种adb运行幺蛾子解决办法,windows系统为例:

1.‘adb’不是内部或外部命令,也不是可运行的程序或批处理文件。

  这个简单,没有配置adb的环境变量,如果只用adb,把adb所在路径加入系统环境变量。建议配置android_HOME变量,很多自动化工具如appium‘会要求配置这个变量。

2.adb server is out of date.  killing...

  这种情况一般是因为当执行输入的adb命令时,系统已经有其它版本的adb在运行了,adb运行会占用5037端口,当运行新adb进程会报错。

  而且现在的各种手机助手满天飞,QQ、360都自带迷你版的手机助手,而且他们一般都是自己修改了adb,然后换个名字,比如叫xxadb、xxhelper,都是adb换了个马甲。

  解决办法:

  先命令行执行were adb,确认PC只配置了一个adb

  命令行输入netstat -ano | findstr 5037,得到类似于以下的:

                技术分享图片技术分享图片
             最后一列是进程号,记录下来,你的电脑可能有多行。
            然后再输入 tasklist | findstr 4348    (得到的进程号) 
    技术分享图片          技术分享图片
               这样就能找到谁在占用了,用任务管理右击这个进程,看看这个adb进程是不是你配置的那个,如果不是,结束删掉,最好把这个adb的主程序(可能是360什么的)也卸载。
 3.明明有设备总是提示device not found
  1.设备是否开启了USB调试并且连接了PC
  2.adb驱动是否正确安装,安装成功后设备管理器应该能看到adb设备。
  如果以上确认无误,尝试手动添加设备的硬件ID,步骤如下:
    1.打开设备管理器,展开adb设备。
    2.右击设备,依次 "属性“—”详细信息“,下拉框选择”硬件ID“
    技术分享图片

    图中标记蓝色的4位16进制数就是VID号,记录下来。

    3.进入命令行,切换工作区到当前用户。

      命令行执行 pushd %USERPROFILE%

    4.将步骤2得到的硬件ID添加到adb_usb.ini

      命令行执行 echo 0x1234 >> .androidadb_usb.ini

      注:1234是得到的硬件ID,0x是16进制数前缀。

        adb_usb.ini也可以放在adb.exe的同级目录下。

        我现在用的是windows10 + adb1.0.39,貌似不需要adb_usb.ini了,也有可能是adb默认状态下可以我司设备了。

     冷知识:早期的adb 识别冷门设备通过adb -i  xxxx start-server添加,adb进程执行中有效。

4.总是提示device offline。

  1.一般情况下,如果设备之前正常,那么adb kill-server之后会恢复正常,再不行把设备和PC都重启。

  2.另一个可能是adb版本过低,例如adb1.0.26不能兼容android4.3以上设备,这种情况下可以通过SDK Manager更新下adb的版本。

5.总是提示unauthorized.

  1.adb kill-server,断开设备后重试。

  2.在设备的usb调试菜单中”撤销USB调试授权“

  3.删除%USERPROFILE%.android目录中的adbkey和adbkey.pub。删除前注意备份。

  4.更新adb的版本。

以上是关于adb运行异常的故障排除的主要内容,如果未能解决你的问题,请参考以下文章

九阳豆浆机故障分析及排除

记一次JVM故障排除

工控机故障排除

电脑故障排除

Linux系统故障排除

电脑故障排除的十种方法!