【问题标题】:Set adb vendor keys设置 adb 供应商密钥
【发布时间】:2015-11-14 22:23:41
【问题描述】:

编辑:我想我找到了问题所在。 ADB 发现我不在最新的更新中(at&t 发布了一个怯场的更新,我不知道)所以 ADB 没有让我调试。现在一切都很好。

我已经在 AT&T HTC One M8 上调试我的应用程序大约一个月了。今天突然插上手机,没有弹出授权。经过一个小时的故障排除,我发现了问题,但没有解决方案。

这是我在 Android Studio 1.3.1 中遇到的错误:

设备未经授权。
这个 adbd 的$ADB_VENDOR_KEYS 没有设置;如果这看起来不对,请尝试“adb kill-server”。
否则,请检查您设备上的确认对话框。

我用谷歌搜索了$ADB_VENDOR_KEYS,但无济于事。

信息:

  • 电话:AT&T HTC One M8 运行 5.0.1 (API 21)
  • Android Studio 版本 1.3.1 build 141.2135290
  • JDK 版本:1.8.0_60

我怎样才能再次获得弹出窗口?我需要调试我的应用程序

【问题讨论】:

  • 尝试进入设备上的开发选项并清除访问列表。
  • 什么也没做
  • 与问题正交,尽管如此,以下文档资源可能会有所帮助,以解释 ADB_VENDOR_KEYS 环境变量对其应用程序的含义:Secure USB debugging in Android 4.2.2 ,尼古拉·埃连科夫(Nikolay Elenkov)

标签: android android-studio adb att


【解决方案1】:

在这种情况下,您可以做的是: 进入设备上的开发者选项 取消选中“USB调试”然后再次检查 然后应该会出现一个确认框

【讨论】:

  • 就我而言,一开始我只是忘记选中此框,立即修复它。
  • 这就是答案,没有要执行的命令,没有复杂的密钥生成......只需禁用并再次启用该选项?
【解决方案2】:

我几乎尝试了任何方法,但没有任何帮助......

每次都是这样

➜  ~ adb devices    
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
aeef5e4e    unauthorized

但是我已经成功连接设备了!

有导师,一步一步来。

  1. 删除 PC 上现有的 adb 键:

$ rm -v .android/adbkey* .android/adbkey .android/adbkey.pub

  1. 移除设备上已授权的 adb 密钥,路径为/data/misc/adb/adb_keys

  2. 现在创建新的 adb 密钥对

➜ ~ adb keygen .android/adbkey adb I 47453 711886 adb_auth_host.cpp:220] generate_key '.android/adbkey' adb I 47453 711886 adb_auth_host.cpp:173] Writing public key to '.android/adbkey.pub'

  1. 从 PC .android/adbkey.pub(公钥)手动复制到路径 /data/misc/adb/adb_keys 上的设备

  2. 重启设备并检查adb devices

➜ ~ adb devices List of devices attached aeef5e4e device

/data/misc/adb/adb_keys 在我的设备上的权限是(766/-rwxrw-rw-)

【讨论】:

  • 如何在 adb 未授权的设备上“删除设备上现有的授权 adb 密钥”?
  • @BourdierJonathan 在设备上使用终端应用程序,或使用开发人员选项下的“撤销 USB 调试授权”菜单项
  • @ColCh 我的屏幕坏了!
  • @BourdierJonathan 尝试在恢复中重新启动并在手机处于恢复模式时进行这些操作
  • 这是最可靠的解决方案,您可能需要以 root 身份运行“adb shell”。
【解决方案3】:

查看此网址 Android adb devices unauthorized 否则简要执行以下操作:

  1. 在platform-tools/.android中查找没有扩展名的adbkey并删除该文件
  2. 查看C:\Users\*username*\.android)并删除adbkey
  3. C:\Windows\System32\config\systemprofile\.android 并删除 adbkey

您可以在上述目录之一中找到它。或者只是在上面的父文件夹中搜索 adbkey 然后找到并删除。

【讨论】:

  • 我发现了问题所在。 ADB 发现我不在最新更新中(我不知道 AT&T 发布了 stagefright 更新)所以它没有让我调试
【解决方案4】:

如果您有 AVD,这可能会有所帮助。

从 Android Studio 中打开 AVD 管理器。选择设备行最右侧的下拉菜单。然后执行擦除数据。重启你的虚拟设备,ADB 就可以工作了。

【讨论】:

    【解决方案5】:

    我尝试了此处和Android adb devices unauthorized中列出的所有方法

    最终对我有用的是 USB Debugging 'Revoke auths' 下面的选项

    【讨论】:

      【解决方案6】:

      有时您只需要重新创建新设备

      【讨论】:

        【解决方案7】:

        我在运行 Ubuntu 18.04 时遇到了同样的问题。我尝试了多种解决方案,但我的设备 (OnePlus 5T) 总是未经授权。

        解决方案

        1. 在 Ubuntu 上配置 udev 规则。为此,只需遵循官方文档: https://developer.android.com/studio/run/device

          我的设备 (OnePlus) 的 idVendor 未列出。要获得它,只需连接您的设备并使用lsusb

          Bus 003 Device 008: ID 2a70:4ee7

          在本例中,2a70 是 idVendor。

        2. 删除 Ubuntu 上现有的 adb 键:

          rm -v ~/.android/adbkey* ~/.android/adbkey ~/.android/adbkey.pub

        3. 在您的设备配置中“撤销 USB 调试授权”(开发人员选项)。

        4. 最后,重启 adb 服务器,创建一个新的 key:

          sudo adb kill-server sudo adb devices

        之后在我的设备上得到授权提示,我授权了。

        【讨论】:

          猜你喜欢
          • 2017-02-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-22
          • 2015-06-10
          • 1970-01-01
          • 1970-01-01
          • 2017-05-31
          相关资源
          最近更新 更多