当前位置: 代码迷 >> Android >> Android 装置连接电脑显示offline
  详细解决方案

Android 装置连接电脑显示offline

热度:46   发布时间:2016-05-01 10:30:19.0
Android 设备连接电脑显示offline

? ? ? ? 最近玩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 get-serialno   可以得到设备的serial numberadb get-state       可以得到设备的状态offline|bootloader|device(现在显示的事offline)adb status-window   可以连续打印设备状态(事实证明这个确实有用)

?

? ? 接着,打开另外一个终端

? ??

adb kill-server   kill server进程adb start-server 确保server进程启动显示:* daemon not running. starting it now on port 5037 ** daemon started successfully *另外一个窗口显示:C:\Users\asus\Desktop>adb status-window[2J[2HAndroid Debug BridgeState: unknown[2J[2HAndroid Debug BridgeState: device貌似已经OK了

? ??这个时候再来检查设备

? ? adb devices -l

? ? 已经有内容输出了:

? ??

C:\Users\asus>adb devices -lList of devices attached34bd66f2        device

?

? ? 貌似蛮有意思的。。。

?

  相关解决方案