| 总结几种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换了个马甲。   解决办法:   先命令行执行where 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 >> .android\adb_usb.ini       注:1234是得到的硬件ID,0x是16进制数前缀。         adb_usb.ini也可以放在adb.exe的同级目录下。   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。删除前注意备份,adb kill-server重启下adb。   4.更新adb的版本。 |