Android ADB设备未经授权

时间:2015-07-26 15:12:43

标签: android adb unauthorized oneplusone

配置:

  • Windows 8.1
  • 亚行版本:1.0.32
  • 智能手机:Oneplus One

问题

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

已经尝试过:

  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.
    
  3. 我做了" adb kill-server",但它并没有改变任何东西。为什么呢?

24 个答案:

答案 0 :(得分:157)

  1. 尝试撤销USB调试授权。
  2. 再次启用USB调试。
  3. 有效。

答案 1 :(得分:16)

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

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

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

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

答案 2 :(得分:15)

在开发者选项中,

  1. 启用USB调试。
  2. enter image description here

    1. 授权。
    2. enter image description here

      (如果没有开发人员选项菜单,则必须单击3次构建电话状态菜单编号作为开发人员。您可以使用开发人员选项菜单。)

      enter image description here

答案 3 :(得分:11)

按顺序:

    adb kill-server
    在设备设置中
  • ,转到developer-options结束禁用 usb-debugging

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

  • 启用 usb-debugging

    adb start-server
    

答案 4 :(得分:6)

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

  • adbkey
  • adbkey.pub

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

答案 5 :(得分:3)

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

答案 6 :(得分:3)

删除现有的 adbkeys

OR

重命名 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管理器,单击向下箭头,然后单击擦除数据

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

答案 7 :(得分:2)

这对我有用

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

答案 8 :(得分:2)

尝试在开发人员选项中取消选中“通过USB验证应用”,然后打开和关闭“USB调试”。它适用于我。

答案 9 :(得分:1)

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

答案 10 :(得分:1)

我也遇到了这个问题。我在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.htmlhttp://blog.csdn.net/fanmengke_im/article/details/28389439

答案 11 :(得分:0)

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.

答案 12 :(得分:0)

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

答案 13 :(得分:0)

这对我有用:

rm〜/ .android / adbkey.pub

sudo ./adb kill-server

sudo ./adb启动服务器

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

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

答案 14 :(得分:0)

此页面上列出的所有方法均不适合我;具体来说:

  • 我遇到一个问题,当选择撤销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. 另一种方法是简单地从adbkey.pub目录中复制计算机的~/.android/,并将其放入有问题的Android设备的sdcard中(使用Web或MTP),命名为{{1} },然后将文件复制到正确的路径:

    adb_keys

    (注意:SO上有一个similar answer,该方法将进一步详细介绍。)

由于我在计算机上运行网络服务器,并且在Android上安装了# On the problematic device cp /sdcard/adbkey.pub /data/misc/adb/adb_keys ,因此我从终端上curl进行了操作,并在Android设备上运行了以下命令:

su

杀死了cd /data/misc/adb curl 192.168.1.35:8080/adbkey.pub > adb_keys 守护进程(使用adb)和 BAM adb kill-server外壳运行良好,就像应该从一开始就如此。

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

答案 15 :(得分:0)

  

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

,然后以 上面提到的

  

adb kill-server,adb start-server和adb设备

答案 16 :(得分:0)

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

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

  1. (请阅读以上说明)删除了~/.android/adbkey 注意:我碰巧执行了此步骤,但在完成以下所有步骤后仍无法解决问题,因此不确定是否需要执行此步骤。

  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

完成上述操作后,
在Android Studio中,Run menu > Run显示Samsung ...电话名称,也可以在设备上正确安装apk。

希望有帮助。

答案 17 :(得分:0)

  1. 首先从主目录中的adbkey目录中删除adbkey.pub.android
  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,您会看到设备已准备好授权。

答案 18 :(得分:0)

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

答案 19 :(得分:0)

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

答案 20 :(得分:-1)

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

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

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

答案 21 :(得分:-1)

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

答案 22 :(得分:-2)

我遇到了这个问题并且它没有通过删除任何键来解决(至少删除它们没有解决它,可能在我修复它之后产生了影响)

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

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

答案 23 :(得分:-3)

请尝试此处提供的说明:http://developer.android.com/tools/extras/oem-usb.html

或者首先,您可以手动将设备的视频和pid添加到new 文件,因为它存在于其他Google设备中。要找到它,只需转到设备管理器→设备属性→详细信息→硬件ID,然后您可以升级驱动程序,如上面的链接所示。

我告诉你,因为如果你打开android_winusb.inf,你可能会发现 代码:

<your SDK folder>\extras\google\usb_driver android_winusb.inf

有助于检测任何Google Nexus设备。同样,您需要在该文件中为您的设备进行复制。实施例

;Google Nexus (generic) %SingleBootLoaderInterface% = USB_Install,
USB\VID_18D1&PID_4EE0 %CompositeAdbInterface% = USB_Install,
USB\VID_18D1&PID_4EE2&MI_01