Android 设备连接电脑显示offline

来源:互联网 发布:vs 软件 编辑:程序博客网 时间:2024/05/30 04:08


Android 设备连接电脑显示offline

    博客分类: 
  • Android
 转载自: http://david-je.iteye.com/blog/1892561 写的很棒,解决了我的问题。

        最近玩Android,发现电脑在公司电脑上可以正常连接,回到家里就不行了。用USB线连接手机和电脑,打开cmd,输入adb devices -l, 结果显示可以识别手机,但是状态为offline。

        因为是offline,所以你也无法通过adb logclient得到手机的运行日志。考虑到adb的运行原理,adb包括三个组成部分:

        1. 运行于电脑上的adb客户端,eclipse上面的ADT插件和DDMS也可以产生adb客户端。

        2. 运行于电脑上作为后台进程运行的服务端,负责管理客户端与设备上的adb守护程序之间的通讯。

        3. 以后台进程的形式运行于设备上的守护进程。

    

       工作步骤如下:

       使用adb命令启动客户端,客户端会去确认是否有一个adb服务进程在运行。如果没有,则启动。服务器运行,adb服务器就绑定本地的TCP端口5037并监听adb客户端发来的命令,接着服务器将所有运行的设备建立连接,通过扫描所有的5555到5585范围内的奇数端口来定位所有的设备。一旦服务器找到adb守护进程就建立连接。设备实例会取得两个连续的端口,奇数端口用来响应adb连接,偶数端口用来连接控制台。

 

        回到问题本身,在其他电脑上能直接连接,说明手机没有问题,可能是服务端进程启动有问题。使用命令adb help可以得到adb的帮助文档。

        

Adb代码  收藏代码
  1. adb get-serialno   可以得到设备的serial number  
  2. adb get-state       可以得到设备的状态offline|bootloader|device(现在显示的事offline)  
  3. adb status-window   可以连续打印设备状态(事实证明这个确实有用)  

 

    接着,打开另外一个终端

    

Adb代码  收藏代码
  1. adb kill-server   kill server进程  
  2. adb start-server 确保server进程启动  
  3.   
  4. 显示:  
  5.   
  6. * daemon not running. starting it now on port 5037 *  
  7. * daemon started successfully *  
  8.   
  9. 另外一个窗口显示:  
  10. C:\Users\asus\Desktop>adb status-window  
  11. [2J[2HAndroid Debug Bridge  
  12. State: unknown  
  13. [2J[2HAndroid Debug Bridge  
  14. State: device  
  15.   
  16. 貌似已经OK了  

    这个时候再来检查设备

    adb devices -l

    已经有内容输出了:

    

Adb代码  收藏代码
  1. C:\Users\asus>adb devices -l  
  2. List of devices attached  
  3. 34bd66f2        device  

 

    貌似蛮有意思的。。。

 

0 0
原创粉丝点击