【问题标题】:Android ADB devices unauthorizedAndroid ADB 设备未经授权
【发布时间】:2015-10-16 18:46:16
【问题描述】:

配置:

  • Windows 8.1
  • 亚行版本:1.0.32
  • 智能手机:一加一

问题

我按照据说安装了三星驱动程序。当我运行 ADB devices 命令时,它显示 unauthorized

已经尝试过:

  1. 我已经完成了这篇文章中所说的一切:https://stackoverflow.com/a/25546300/1848376

    但问题是我没有收到电话提示我必须接受连接。

  2. 当我运行命令adb shell时,答案如下:

    error: device unauthorized.
    This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
    Otherwise check for a confirmation dialog on your device.
    

我做了“adb kill-server”,但它没有改变任何东西。为什么?

【问题讨论】:

  • 在尝试了以上所有方法后,我开始下载较低的 AVD 以查看是否有其他方法可以使用。 API 28 和 27 在启动过程中仍会冻结,但 API 26 会立即启动。 Android Studio 3.1.3 我稍后会尝试卸载并重新安装,但很高兴这终于又能正常工作了。在处理了近一周的关键进程错误而没有纠正后,在全新安装 Windows 10 后重新安装 Android Studio 3.1。

标签: android adb unauthorized oneplusone


【解决方案1】:
  1. 尝试撤销 USB 调试授权。
  2. 再次启用 USB 调试。

成功了。

【讨论】:

  • 当您重新启用 USB 调试时,选中始终允许从此设备进行 USB 调试的复选框可能很重要。我相信只有在重新启用 USB 调试时将 Android 设备插入 USB 时才会显示此选项。
  • 在移动到新计算机 (Macbook) 后,我只需要在设备上禁用然后启用 USB 调试即可。
  • 拔掉然后重新插入应该是你的第一步。
  • 感谢您的回答。你节省了我的时间。
  • 我从没想过自己会陷入“您是否尝试再次将其关闭?” :)
【解决方案2】:

感谢 xda 开发者存在:http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

只需要删除 C:Users/$Name/.android adbkey.pub 中的 adbkey 文件丢失。

在此之后重新启动,两个文件都在那里。

如果这不起作用: - 尝试撤销 USB 调试授权。 - 再次启用 USB 调试。

【讨论】:

  • 这个键在 Mac 上在哪里?
  • > 在此之后重新启动,两个文件都在那里 就像重新启动一样?我在 Windows 上并且被困在一个不会消失的“未经授权”的设备上! (但我还没有重新启动,因为打开了 200 万个窗口)
  • @tbone 我知道这是一个迟到的答案,但你只需要重新启动 adb 服务器。
  • 删除了该文件中的所有内容,它不仅修复了 ADB over Network,还修复了 USB
  • 为了安全起见,重命名为.android.old,但是当我重新启动adb服务器并撤销授权后,我的手机立即提示我! @julestruong 谢谢!
【解决方案3】:

按顺序:

    adb kill-server
  • 在您的 DEVICE SETUP 中,转到 developer-options end disable usb-debugging

  • 按REVOKE USB调试授权,点击确定

  • 启用 usb 调试

    adb start-server
    

【讨论】:

  • 我在 Ubuntu 中以 root 身份运行该命令,这解决了我的问题。没有 su (Ubuntu 18) 就无法运行。
【解决方案4】:

我从 ~/.android 文件夹中删除了以下文件:

  • adbkey
  • adbkey.pub

我在设备中禁用并启用了 ADB,现在它可以工作了...

【讨论】:

  • 我只看到了adbkey 文件,所以我删除了它,它就像魅力一样。谢谢!
【解决方案5】:

在开发者选项中,

  1. 启用 USB 调试。

  1. 给予授权。

(如果没有开发者选项菜单,你必须点击3次手机状态菜单的内部版本号才能成为开发者。你可以sse一个开发者选项菜单。)

【讨论】:

    【解决方案6】:

    删除现有的adbkeys

    重命名 adbkeys

    最佳做法是重命名密钥,因为它提供备份。

    cd ~/.Android

    mv adbkey adbkey2

    mv adbkey.pub adbkey.pub2

    下一次停止和启动服务器

    cd ~/Android/Sdk/platform-tools

    找到设备 /Android/Sdk/platform-tools$ ./adb devices

    /Android/Sdk/platform-tools$ ./adb kill-server

    /Android/Sdk/platform-tools$ ./adb start-server

    然后,停止模拟器打开AVD管理器,点击向下箭头,然后点击wipe data

    重启模拟器。然后一切正常:)

    【讨论】:

      【解决方案7】:

      试试这个,取消选中开发者选项中的“通过 USB 验证应用程序”,然后打开和关闭“USB 调试”。它适用于我。

      【讨论】:

      • 这个方法对我有用:我的“USB 调试”一开始是打开的,然后我取消选中“通过 USB 验证应用程序”,但这没有帮助。在我打开“USB调试”后,它工作了!
      • 我的设备无法启动。
      【解决方案8】:

      这对我有用

      1- Go to ~/.android/ and remove “adbkey”
      2- Disconnect USB connection
      3- adb kill-server
      4- Revoke USB debugging authorizations (in developer option)
      5- Reconnect the device to the Ma
      6- adb devices
      

      【讨论】:

      • 这是唯一对我有用的东西。谢谢:)
      【解决方案9】:

      确保您在通过 USB 连接到您的 PC 后询问它是否显示设备的指纹时已接受按下的“确定”按钮。

      【讨论】:

      • 我想知道支持其他答案的人是否真的检查了设备屏幕......
      • 大声笑,当我低头看手机时,我觉得自己很愚蠢
      【解决方案10】:

      在 Android Studio 中,Run menu > Run 显示连接设备的OFFLINE ...

      解决方法如下:

      1. (先阅读下面的注释)删除~/.android/adbkey(或者,重命名为~/.android/adbkey2,如果您出于某种原因想要它回来更好)
        注意:我碰巧做了这一步,但没有解决问题,做了以下所有步骤后,它工作了,所以不确定是否需要这一步。

      2. 运行locate platform-tools/adb
        注意:在以下命令中使用来自此处的路径

      3. 杀死 adb 服务器:
        sudo ~/Android/Sdk/platform-tools/adb kill-server

      4. 您将在您的设备上弹出Allow accept.. 消息。接受。这很重要,它解决了问题。

      5. 启动 adb 服务器:
        sudo ~/Android/Sdk/platform-tools/adb start-server

      6. 在 Android Studio 中,再次执行 Run menu > Run
        它将显示类似Samsung ...(您的手机制造商名称)的内容。
        这次也正确地在设备上安装了apk,没有错误。

      希望对您有所帮助。

      【讨论】:

        【解决方案11】:
        1. 首先从主目录的.android 目录中删除adbkeyadbkey.pub
        2. 在您的家中创建 .android 目录,具有 710 权限:$ chmod 710 .android/ 和所有权:chown -R <user>:<user> .android/。例如:

          $ chmod 710 .android/
          $ chown -R ashan:ashan .android/
          
        3. 在您的手机中转到开发者选项并点击选项Revoke USB debugging authorizations

        4. 关闭设备中的所有USB DebuggingDeveloper Options,并断开设备与您的计算机的连接。

        5. 再次连接设备,首先打开Developer Options。然后打开USB debugging

        6. 此时,在您的手机中,您将收到询问您许可的提示。注意:您必须选中复选框always accept from this ….选项并单击确定。

        7. 现在在你的机器上,启动 adb 服务器:adb start-server

        8. 希望当您现在发出命令:adb devices 时,您会看到您的设备已准备好获得授权。

        【讨论】:

          【解决方案12】:

          本页列出的所有方法都不适合我;具体来说:

          • 我遇到了一个问题,即选择 撤销 USB 调试授权 时设置应用程序会崩溃
          • 我运行的是 LineageOS 14 x86_64
          • 我在网络上使用 ADB
          • /data/misc/adb 不包含 adb_keys 文件
          • 删除我的本地 ~/.android/adbkey 也没有帮助
          • 我从本地终端获得了 root 访问权限
          • 我没有收到任何确认对话框
          adb: error: failed to get feature set: device unauthorized.
          This adb server's $ADB_VENDOR_KEYS is not set
          Try 'adb kill-server' if that seems wrong.
          Otherwise check for a confirmation dialog on your device.
          - waiting for device -
          

          最后,我发现了一个非常有用的帖子here,它建议手动将~/.android/adbkey.pub 的内容放入/data/misc/adb/adb_keys 文件中。

          他们建议使用以下两种方法之一:

          1. 从另一个工作设备,将adb_keys 文件复制到您的计算机中:

            # On the other Android device
            cp /data/misc/adb/adb_keys /sdcard
            
            # From your computer
            adb pull /sdcard/adb_keys .
            

            然后将工作的adb_keys文件放入有问题的Android设备的SD卡(使用Web或MTP)命名为adb_keys,然后将文件复制到正确的路径:

            # On the problematic device
            cp /sdcard/adb_keys /data/misc/adb/adb_keys
            
          2. 另一种方法是简单地从~/.android/目录中复制您机器的adbkey.pub,并将其放入名为adb_keys的有问题的Android设备的SD卡(使用Web或MTP)中,然后将文件复制到正确的路径:

            # On the problematic device
            cp /sdcard/adbkey.pub /data/misc/adb/adb_keys
            

            (注意:SO 上有一个similar answer,详细介绍了此方法。)

          由于我在我的计算机上运行一个网络服务器,并且我在 Android 上安装了 curl,我从终端 su'ed 并在我的 Android 设备上运行以下命令:

          cd /data/misc/adb
          curl 192.168.1.35:8080/adbkey.pub > adb_keys
          

          杀死了adb 守护进程(使用adb kill-server)和BAMadb shell 运行良好,一开始就应该如此。

          希望这里描述的方法对您和我一样适用。

          【讨论】:

            【解决方案13】:

            我也遇到了这个问题。我在 Nexus 5X 上使用我自定义的 AOSP 版本。我在 build/core/main.mk 中添加了一行:

            diff --git a/core/main.mk b/core/main.mk
            index a6f829ab6..555657539 100644
            --- a/core/main.mk
            +++ b/core/main.mk
            @@ -362,6 +362,8 @@ else # !enable_target_debugging
               ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
             endif # !enable_target_debugging
            
            +ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
            +
             ## eng ##
            
             ifeq ($(TARGET_BUILD_VARIANT),eng)
            

            现在adb shell 工作正常

            那些资料有用(中文文章):http://www.voidcn.com/blog/kc58236582/article/p-6335996.html,http://blog.csdn.net/fanmengke_im/article/details/28389439

            【讨论】:

              【解决方案14】:

              尝试从 C/.android 文件夹中删除 adbkey 文件

              然后运行命令为 上面提到的即

              adb kill-server、adb start-server 和 adb devices

              .

              【讨论】:

              【解决方案15】:

              您的应用被检测为某些有害程序。 关闭“通过 USB 验证应用程序”选项。与“USB调试”在同一视图中。

              【讨论】:

                【解决方案16】:

                您只需授权调试模式。
                1. 确保您的设备已连接到您的 PC。
                2. 允许通过Android-Studio授权调试模式到
                运行 -> 将调试器附加到 Android 进程
                您将在设备中看到允许调试模式的弹出窗口,
                按 OK。完成。
                我希望它对某人有所帮助。

                【讨论】:

                  【解决方案17】:

                  我在重新安装我的 android studio 后遇到了同样的问题。这是我为使我的 adb 再次工作所做的工作:

                  -path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
                  -Shift+r.click and start command from here instead.
                  

                  【讨论】:

                    【解决方案18】:

                    对于以后遇到此问题的任何人,这也可能会有所帮助。我在尝试从用户命令提示符下使用 adb 时遇到了这个确切的问题,上面的答案没有帮助,但是在管理员命令提示符下运行时,“adb kill-server”问题消失了。

                    【讨论】:

                      【解决方案19】:

                      这对我有用:

                      rm ~/.android/adbkey.pub

                      sudo ./adb kill-server

                      sudo ./adb start-server

                      sudo ./adb -s emulator-5554 install ~/apk_to_install.apk

                      我不确定使用 sudo 权限运行 adb 是否是个好主意,但这是我获得它的唯一方法。问候。

                      【讨论】:

                        【解决方案20】:

                        当我以非 root 用户身份尝试连接到自定义恢复 (Philz) 时遇到权限错误时,我以 root 身份获取此信息。所以我杀死了 adb 服务器,将我的用户帐户的 .android 子目录复制到 /root,将 -R 改成 root.root,然后重新启动 adb 服务器。我进来了!

                        【讨论】:

                          【解决方案21】:
                          Disconnect USB between PC and device
                          Stop adb server by entering "adb kill-server" in command window
                          On device use "Revoke USB debugging authorizations" in "Developer Options"
                          On PC delete "adbkey" file in user directory, for example "C:\Users\Amit\.android"
                          Reconnect the device to the PC
                          Open a command window and enter "adb devices". Watch the device's screen for any Authorization message and allow the connection.
                          

                          【讨论】:

                            【解决方案22】:

                            我想您已经在智能手机中启用了设备上的开发人员选项?如果没有你可以看看Android提供的步骤,http://developer.android.com/tools/device.html#developer-device-options

                            【讨论】:

                            • 是的,我做到了,我也将其关闭再打开。
                            • 根据这个链接(code.google.com/p/android/issues/detail?id=175077),似乎“平台工具23 rc1”有这个问题。您可以使用 "$ adb version" cmd 找到平台工具版本。该链接表示切换回构建工具版本 22 可以解决此问题。
                            • 我下载了plateform tools 22,在sdk目录下替换了,不行(不过adb版本好像是一样的)
                            【解决方案23】:

                            对于 FIRE STICK 4K,它实际上在对话框中说:

                            否则检查您设备上的确认对话框

                            确实在另一个房间的电视上有一个确认对话框。呸!

                            【讨论】:

                            • 也许这可能是对该问题的补充意见,但这不是答案,因为该问题涉及不同类型的设备。
                            【解决方案24】:

                            我遇到了这个问题,并且没有通过删除任何键来解决(至少删除它们并没有修复它,虽然我修复它之后可能有效果)

                            实际上,我的 sdk-tools 版本和我的 Android Studio 版本之间存在差异。更新我的工具后它仍然无法正常工作,但在更新 AS(到 1.4)后一切正常。

                            始终同时更新 sdk-tools 和 AS 版本;)

                            【讨论】:

                              猜你喜欢
                              • 2014-05-29
                              • 1970-01-01
                              • 2014-11-30
                              • 2014-10-03
                              • 1970-01-01
                              • 2018-04-04
                              • 1970-01-01
                              • 2018-04-11
                              相关资源
                              最近更新 更多