未经授权的Android ADB设备


93

组态:

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

问题

据说我安装了三星驱动程序。当我运行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.

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


在尝试了上述所有方法之后,我开始下载较低的AVD,以查看是否还有其他方法可以使用。API 28和27在引导过程中仍然冻结,但是API 26已正确启动。Android Studio 3.1.3我将尝试在以后卸载并重新安装,但很高兴这终于可以再次使用。全新Windows 10安装后,在处理关键流程错误将近一个星期而未进行纠正后,重新安装Android Studio 3.1。
乔恩(Jon)

Answers:


208
  1. 尝试撤消USB DEBUGGING授权。
  2. 再次启用USB调试。

有效。


8
重新启用USB调试时,请选中始终允许从该设备进行USB调试的框,这一点可能很重要。我相信只有在重新启用USB调试时将Android设备插入USB时,此选项才会显示。
joshgoldeneagle

移至新计算机(Macbook)后,只需要在设备上禁用然后启用USB调试即可。
南希

无论如何,拔出插头然后重新插拔是您的第一步。
TGrif

谢谢您的回答。你节省了我的时间。
Kelvin Low

我从没想过自己会陷入“您是否试图再次将其关闭?” :)
jediz

45

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

只是必须删除C:Users / $ Name / .android中的adbkey文件,而adbkey.pub丢失了。

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

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


1
在Mac上,此密钥在哪里?
mosaad

1
>重新启动后,两个文件都存在。重新启动时一样吗?我在Windows上,只能使用不会消失的“未授权”设备!(但是我还没有重启,因为打开了200万个窗口)
tbone

1
@tbone我知道这是一个较晚的答案,但是您只需要重新启动adb服务器即可。
卡洛斯EL奥古斯托

2
在该文件中删除了一切,它不仅解决了亚行的网络,而且USB

2
重命名为.android.old安全起见,但当我重新启动adb服务器并撤消了授权后,我的电话立即提示我!@julestruong谢谢!
Richard.Davenport,

27

按顺序:

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

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

  • 启用USB调试

    adb start-server

2
我在Ubuntu中以root身份运行了命令,这解决了我的问题。没有su就无法使其工作(Ubuntu 18)。
petobens

20

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

  • Adbkey
  • adbkey.pub

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


1
我只看到adbkey文件,所以我删除了它,它像魅力一样工作。谢谢!
Reeshabh Ranjan

18

在开发者选项中,

  1. 启用USB调试。

在此处输入图片说明

  1. 授权。

在此处输入图片说明

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

在此处输入图片说明


8

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

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


5

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


这种方法对我有用:首先启用“ USB调试”,然后取消选中“通过USB验证应用程序”,但这无济于事。打开然后打开“ USB Debugging”后,它就起作用了!
成龙


4

在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正确安装在设备上,没有错误。

希望能有所帮助。


2
  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 Debugging,并Developer Options在设备中,从您的计算机断开该设备。

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

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

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

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


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.html,http //blog.csdn.net/fanmengke_im/article/details/28389439



1

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

  • 我有一个问题,选择“ 撤消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 -

最后,我在这里找到了一个非常有用的帖子,建议您手动将文件内容~/.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设备的sdcard(使用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)中,命名为adb_keys,并将其复制到正确的路径中:

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

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

由于我在计算机上运行网络服务器,并且curl已在Android上安装,因此我su从终端进行了操作,并在Android设备上运行了以下命令:

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

杀死了adb守护进程(使用adb kill-server)和BAM!该adb壳工作得很好,像它应该已经从一开始。

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


1

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


0

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


0

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

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

0

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


0

这对我有用:

rm〜/ .android / adbkey.pub

须藤./adb kill-server

sudo ./adb启动服务器

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

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


0

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


-1

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


是的,我做到了,而且我也将其关闭和打开。
julestruong 2015年

根据此链接(code.google.com/p/android/issues/detail?id=175077),似乎“平台工具23 rc1”存在此问题。您可以使用“ $ adb version” cmd查找平台工具版本。该链接说,切换回构建工具版本22可以解决此问题。
Dhunju_likes_to_Learn

我下载了平台工具22,并将其替换到sdk目录中,但没有工作(尽管adb版本似乎相同)
julestruong

-1

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

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

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


1
也许这可能是对该问题的补充说明,但这不是答案,因为该问题与其他类型的设备有关。
Jairo

-2

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

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.