adb使用时出现unanthorized问题

Posted 夜尽天明00

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb使用时出现unanthorized问题相关的知识,希望对你有一定的参考价值。

adb使用时出现unanthorized问题

 

ADB 启动时,adb devices出现unanthorized问题。

  1. 检查USB调试是否开启。
  2. 重新拔插USB数据线是否有授权提示
  3. 重启adb :adb kill-server和adb start-server
  4. 如果以上方法均不可以,则使用以下步骤
  1. 删除C:\\Users\\你电脑的用户名\\.android下的adbkey和adbkey.pub

     

  2. 关闭USB调试

  3. 重新打开一个DOS命令窗口,进入ADB中

     

  4. 先adb kill-server关闭adb驱动,然后输入adb start-server打开adb服务

     

  5. 插入USB数据线,打开USB调试,出现以下图片,只有出现了第二张图片中的序号,adb才可以配对成功。点击确定,公钥配对成功,只要出现了第二个图片,不管配不配对,本地C:\\Users\\你电脑的用户名\\.android都会新出现两个文件adbkey和adbkey.pub

     

  6. 输入adb devices,成功打开adb服务,
    1. 解决原理:

原来当我们在window电脑上启动adb.exe进程时,adb会在本地生成一堆adbkey(私钥)和adbkey.pub(公钥);根据弹框提示"The computer\'s RSA key fingerprint is:xxxx",可以看出是一对RSA算法的密钥,其中公钥是用来发送给手机的;当执行"adb shell"时,adb.exe会将当前电脑PC的公钥(或者公钥)的hash值(fingerprint)发送给Android设备;这是,如果android上已经保存了这台PC的公钥,则匹配出对应的公钥进行认证,建立adb连接;如果android上没有保存这台PC的公钥,则会弹出提示框,让你确认是否允许这台机器进行adb连接,当你点击了允许授权之后,android就会保存了这台PC的adbkey.pub(公钥);

  1. Adbkey和adbkey.pub的存储位置,

    以window系统来说,当我们首次启动adb.exe时,会在C盘的当前用户的目录下生成一个".android"目录,其中adbkey与adbkey.pub就在这个目录下;(adb.exe会在启动时读取这两个文件(如果没有生成就重新生成),所以如果你要是删除或者修改了这两个文件后,必须关闭adb.exe进程,重启之后才能生效);

    其次在android系统上,PC的公钥被保存在一个文件中"/data/misc/adb/adb_keys";

 

以上是关于adb使用时出现unanthorized问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 kivy 制作的 buildozer 打包简单的计算器应用程序时出现错误“adb:安装失败”

使用adb shell启动Android应用程序时出现错误“活动类不存在”

用adb解手机密码输入adb shell时出现 device not found怎么办

将 Facebook 插件与 Unity 一起使用时出现 ActivityNotFoundException

Genymotion模拟器adb冲突解决方法

在rails中验证pdf的数字签名时出现Origami和OpenSSL错误