Android ADB始终为unautorized的解决

现象

启动后连接ADB,始终无法连接,adb devices显示为没有授权,但是Android端又始终没有出现Debug权限确认的Dialog,让人疑惑不解,尝试了将Android端的Debug 认证记录取消,依然没有解决。

如果使用adb shell查看,那么也是说需要在Android端的对话框中确定接受:

但是实际上,从来就没有出现过询问是否接受PC key和调试的窗口。从后来的解决看,这个提示就是一个坑,让人走到了不正确的方向上。

再三确认了udev rules里面有对应的VID和PID,也确认了Android端的Debug开关因素。在XDA与google上面找了许久也没解决。

解决方案

最后发现是PC端的ADB配置问题,ADB需要在~/.android中配置一把,这里面有key,最为重要的是,需要将VID放入到这个文件中,例如下面的18d1就是Nexus(ASUS)的设备VID:

同时可以看到这个目录中有key相关的东西,原来前面提示的unautorized需要Android端确认,可是确认之前,PC端得生成一个key,并将public key发给Android端,Android设备才会弹出询问是否接受和保存debug PC key的对话框。

 

查看adbkey和adbkey.pub的内容可以了解到,其实这个和.ssh里面的key内容类似,一个public,一个private的非对称加密key。

Leave a Reply

Your email address will not be published. Required fields are marked *