解决adb连接失败(offline/unauthorized)

  • A+
所属分类:Android开发

在使用远程 adb 的时候,发现设备被连接连接,却怎么都不能进行调试

虽然连接了 adb,但是并没有授权。

问题分析

在 adb 连接手机之前,会自动在系统里面生成一个密匙,并且把这个密匙上传到 android 机的 data/misc/adb/adb_keys 里面

当然在此之前需要经过用户的弹窗同意,只要用户允许 usb 调试,那么就会自动上传密匙,当前电脑在以后的连接都会直接通过

按照道理来说,这一步基本上没有人会注意,因为使用数据线根本不用在意这些,都是系统默默执行的

如果使用 wifi 连接,这也许是 android 机的 BUG(不过我的 Nexus 使用 wifi 连接会自动弹出是否允许调试窗口),第一次连接并不会提示用户提权,所以导致adb连接上android机,但是无法识别。

解决办法

方案一

第一次连接使用usb连接,当获取到权限后在进行远程调试。

方案二

找到当前机器生成的密匙,mac 在 ~/.android/adbkey.pub

使用 vim 复制 adbkey.pub 里面的内容:

然后把这段内容添加到手机的 data/misc/adb/adb_keys 里面,手机的话使用 RE管理器 就行,

重启下adb服务,重新连接

adb kill-server
adb connect ip
adb devices

历史上的今天
十二月
2
avatar