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,得到类似于以下的:
图中标记蓝色的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的版本。