未经授权的Android ADB设备

Android ADB devices unauthorized

组态:

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

问题

据说我安装了三星驱动程序。 当我运行ADB设备命令时,它表示未授权。

已经尝试过:

  • 我已经完成了这篇文章所说的所有事情:https://stackoverflow.com/a/25546300/1848376

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

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

    1
    2
    3
    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",但是没有任何改变。 为什么?


  • 尝试撤消USB DEBUGGING授权。
  • 再次启用USB调试。
  • 有效。


    Thankgod xda开发人员存在:http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

    只是必须删除C:Users / $ Name / .android中的adbkey文件而已。

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

    如果这不起作用:
    -尝试撤销USB DEBUGGING授权。
    -重新启用USB调试。


    按顺序:

    1
        adb kill-server
    • 在"设备设置"中,转到"开发人员选项",然后关闭USB调试功能

    • 按REVOKE USB调试授权,单击OK。

    • 启用USB调试

      1
      adb start-server


    在开发者选项中,

  • 启用USB调试。
  • enter image description here

  • 授权。
  • enter image description here

    (如果没有开发人员选项菜单,则必须单击"电话状态"菜单的内部版本号的3倍才能成为开发人员。可以选择开发人员选项菜单。)

    enter image description here


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

    • Adbkey
    • adbkey.pub

    我在设备内禁用并启用了ADB,现在可以使用...


    通过USB连接到PC后,当要求其显示设备的指纹时,请确保已接受"确定"按钮。


    尝试取消开发人员选项中的"通过USB验证应用程序",然后打开和关闭" USB调试"。它和我一起工作。


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

    以下是解决该问题的步骤:

  • (首先阅读下面的注释)删除~/.android/adbkey(或者重命名为~/.android/adbkey2,如果出于某种原因想要返回,则更好)
    注意:在执行以下所有步骤后,我碰巧执行了此步骤,但是并不能解决问题,因此不确定是否需要执行此步骤。

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

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

  • 您将在设备上弹出Allow accept..消息弹出窗口。接受。这很重要,可以解决问题。

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

  • 在Android Studio中,再次执行Run menu > Run
    它将显示类似Samsung ...(电话制造商名称)的信息。
    这次也将apk正确安装在设备上,没有错误。

  • 希望能有所帮助。


  • 首先从主目录中的.android目录中删除adbkeyadbkey.pub
  • 在家里创建.android目录,并具有710个权限:$ chmod 710 .android/和所有权为:chown -R : .android/。例如:

    1
    2
    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
  • 转到移动设备中的开发人员选项,然后点击选项Revoke USB debugging authorizations

  • 关闭设备中的所有USB DebuggingDeveloper Options,然后断开设备与计算机的连接。

  • 再次连接设备,并首先打开Developer Options。然后打开USB Debugging

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

  • 现在,在您的计算机中,启动adb服务器:adb start-server

  • 希望当您现在发出命令:adb devices时,您将看到设备已准备好授权。


  • Try deleting the adbkey file from C/.android folder

    然后以以下方式运行命令
    上面提到的

    adb kill-server, adb start-server and adb devices


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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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


    删除现有的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管理器,单击向下箭头,然后单击擦除数据

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


    此页面上列出的所有方法都不适合我;特别:

    • 我有一个问题,选择"撤消USB调试授权"时"设置"应用会崩溃
    • 我正在运行LineageOS 14 x86_64
    • 我正在通过网络使用ADB
    • /data/misc/adb不包含任何adb_keys文件
    • 删除我的本地~/.android/adbkey也没有帮助
    • 我具有本地终端的root访问权限
    • 我没有收到任何确认对话框
    1
    2
    3
    4
    5
    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 -

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

    他们提出了以下两种方法之一:

  • 在另一个工作设备上,将adb_keys文件复制到您的计算机中:

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

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

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

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

    (注意:SO上有一个类似的答案,将进一步详细介绍此方法。)

  • 由于我在计算机上运行Web服务器,并且在Android上安装了curl,因此我从终端su进行了调试,并在Android设备上运行了以下命令:

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

    杀死了adb守护程序(使用adb kill-server)和BAM! adb外壳运行良好,就像应该从一开始就应该如此。

    希望这里介绍的方法对您一样对我有用。


    重新安装我的android studio后,我遇到了同样的问题。这是我使adb再次工作的步骤:

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

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


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


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


    我遇到了这个问题,但无法通过删除任何键来解决(至少删除它们并不能解决问题,但是尽管我确实解决了问题,但是还是有效果的)

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

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