未经授权的ADB Android设备


357

由于我重新安装了Eclipse(仅删除并再次下载了它),因此无法在Samsung Galaxy i9001(使用CyanogenMod-Android 4.4.2)上调试应用程序。重新安装之前,它工作正常。

拔出/插入,取消选中/选中“调试已启用”,adb kill-server / adb启动服务器,重启电话/计算机对我不起作用。在设备上,授权对话框永远不会出现(但我记得该对话框在重新安装之前出现了)。我不知道如何强制显示此授权对话框。.android目录中没有abd_key.pub文件。当我尝试读取CPU信息时,DDMS会说:

[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.

有任何想法吗?是否可以在没有确认对话框的情况下手动生成密钥?

USB连接 通过USB

无线连接 通过Wi-Fi


5
随机猜测,但是如果您删除手机设置中的所有调试授权,该怎么办。
克里斯·斯特拉顿

我做到了,但什么也没有发生......
Quak

重新安装了USB驱动程序-仍然没有。
Quak 2014年

第一次为我工作+1
punith

6
1.拔下电源,2.转到开发人员菜单,3.删除所有允许的设备,4.将USB重新插入到您的PC,5.在手机的弹出窗口中,选择记住,单击允许,完成!6.?7.赢利!

Answers:


1007

无论出于何种原因,都有可能不再在ADB上授权该设备。

1.检查是否经过授权:

<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        unauthorized

2.撤销手机上的USB调试

如果该设备显示为未授权,请转到手机上的开发人员选项,然后单击“撤销USB调试授权”(已通过JellyBean和Samsung GalaxyIII测试)。

3.重新启动ADB服务器:

然后重启adb服务器

adb kill-server
adb start-server

4.重新连接设备

设备将询问您是否同意连接计算机ID。您需要确认。

5.现在检查设备

现在已授权!

adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        device

4
这里没有第二步,但也找不到该菜单。
西蒙·佛斯伯格

11
该设备没有询问(或我没有看到询问)是否同意重新连接,但是按照上述步骤操作之后,请关闭电源,然后重新打开USB调试,它可以正常工作。
Jack BeNimble

1
没为我工作;Android 6.0 Marshmallow没有选项“撤消USB调试授权”。注意:杀死ADB之后,我得到“未设置此adbd的$ ADB_VENDOR_KEYS;如果这似乎不对,请尝试'adb kill-server'”;以及“错误:设备未获授权”等
亚伦·坎贝尔

2
我在Android 4.4.4上找不到选项“撤消USB调试授权”。它在哪里?
JohnyTex

6
如果您的设备没有提示您进行授权,则可能是因为您所运行的帐户adb无权处理密钥。如果您遇到这种情况,请尝试使用提升的权限(例如sudo)。
MatrixManAtYrService

88

哦,终于我明白了!删除Eclipse目录后,我将其安装到另一个目录中。

echo %ANDROID_SDK_HOME%

显示了错误的sdk目录路径。

  1. set ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
  2. 拔出设备
  3. adb kill-server
  4. adb start-server
  5. 插头装置

完成这些步骤后,我可以在手机上看到带有RSA指纹的确认对话框:)


它没有显示调试启用对话框...这里有任何建议!
CoDe14 2014年

1
设置环境变量对我有用,但是我必须重新启动才能生效。
蒂姆·范·哈伦

19
我把unplug device一个命令来运行......自我提醒,这种方式physicallly(UN)插件
托比亚斯Kienzler

在我的情况下,ANDROID_HOME_SDK的环境变量指向错误的'E:\ android-sdk \ SDK Manager.exe'。因此,在我更改为“ E:\ android-sdk”后,我尝试像他说的那样回声,但环境似乎没有更新。因此,我重新启动PC->拔下USB-> ADB杀服务器-> ADB启动服务器->插入USB->工作!
Jongz Puangput,2015年

我使用的是adb kill-server和adb start-server不起作用,但是当拔出设备并使用这些命令时,它起作用了,谢谢!
Yirga

55

尝试强制ADB创建新密钥。

  • 在Linux上:

    $ mv ~/.android/adbkey ~/.android/adbkey.old
    $ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
    $ adb kill-server
    $ adb start-server
  • 在Windows 10上(谢谢Pau Coma RamirezNaveend4c0d312!):

    • %HOMEPATH%\Android\.android\
    • 查找名为adbkey或的文件adbkey.pub
    • 删除这些文件。或者,如果您想安全起见,请将其移至另一个目录。
    • 重复上述步骤 %USERPROFILE%\.android\
    • 再试一次

在这之后,我什至不需要拔掉手机的电源:授权提示已经在那里。祝好运!


3
其他答案均无济于事,这个答案就定了!非常感谢!=)
巴西人Guy

3
对于Windows,请检查%HOMEPATH%\.android\ 或中的键%USERPROFILE%\.android\ 。谢谢,这个为我工作!
波哥马拉米雷斯

1
@ e18r,谢谢。尝试了您说的内容后,它奏效了。非常感谢。
Naveen

1
谢谢!在Windows 10上,这就是它为我工作的原因。
BlueSilver

1
谢谢。非常迫切需要它。像魅力一样工作。
raghu777

40

我遇到了与nexus7相同的问题。

以下工作已解决此问题。

  1. 设备菜单上的打开Developer选项Settings

  2. Switch off 屏幕右上方的按钮。

  3. Delete全部debug permission来自菜单列表。

  4. Switch on 屏幕右上方的按钮。

现在,将您的设备重新连接到PC,一切正常。

对不起,我的英语不好,因为我的语言是日语,所以某些菜单(按钮)的名称在您的语言中可能不正确。


3
这对我有用。步骤3似乎含糊不清,但为此,我“撤销了USB调试授权”。当我备份设备时(启用调试选项并再次进行USB调试后),它提示我保存计算机的RSA密钥。谢谢:)
SgtPooki 2014年

这在Wiko Lenny上为我工作。断开设备连接,关闭Developer模式,取消调试权限Developer,重新打开选项,重新连接设备,然后重新启用USB debugging
user1438038'1

谢谢!适用于Lenovo Tab 3
bladerz '18

尝试修复了一段时间后,Revoke USB Debugging Authorization现在使我的模拟器硬重置。质量。
Timmmm

28

我有同样的问题。通过将“ USB计算机连接”设置为“相机(PTP)”而不是“媒体设备(MTP)”来解决


1
唯一的办法就是为我工作ID 1004:631d LG Electronics, Inc. Optimus Android Phone (Camera/PTP Mode)谢谢!
josejuan 2015年

1
这对我也有用..在redmi note 3 NitrogeOS 7.1.2
ashishsony 17-4-16

在OnePlus One血统14.1上为我做到了吗?
亚历克斯·伯格斯兰

在Samsung Galaxy S4 Active上为我工作。
艾蒂安

尝试了一切,只有此解决方案有效(在“默认USB配置”中设置其他USB模式-传输图像)。该机器具有一个相当旧的主板(带有一个旧的芯片组)和一个AMD CPU,因此这似乎是与驱动程序有关的问题。
贾瓦德·萨德扎德

24

我在这个愚蠢的问题上浪费了时间。以上所有解决方案都不对我自己有效。

我正在运行Windows10。我手动安装了Android SDK和Android Studio的SDK。我删除了手动安装的SDK,所有设备均停止工作。这些是症状:

$ adb usb
error: 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.

以及

$ adb devices
List of devices attached
id1        unauthorized
id2        unauthorized
id3        unauthorized

老实说,我不确定这些步骤中的哪些让我获得了“ 允许USB调试”功能?提示回来,所以我列出了所有内容以确保完整性。从最容易到最困难。在前两节之后,大多数人似乎重新站起来。


重新启动亚行

我将在下面的每个部分之后执行此操作。

adb kill-server
adb usb

疯狂选择开发人员

  1. 关闭并重新打开开发人员选项
  2. 打开USB调试,然后再打开
  3. 撤消USB调试授权。在USB调试打开的情况下尝试此操作,如果可能,在USB调试关闭的情况下也尝试尝试此操作。

重新插入设备

  1. 拔下USB电缆并将其重新插入手机。
  2. 切换USB电缆连接到的PC上的物理端口
  3. 切换用于连接设备的物理USB电缆

开始重新启动所有内容

  1. 重新启动所有设备,然后重新连接
  2. 重新启动电脑
  3. 开启和关闭WIFI

开始删除内容

  1. 注意删除~/.android文件夹。有时,此文件夹可能具有错误的权限,这可能会导致问题。您可能要先备份此文件夹。
  2. 从添加/删除程序中卸载所有制造商特定的驱动程序。我卸载了以下文件(名称不正确)
    • LG United USB驱动程序
    • HTC Mobile USB驱动程序
    • OnePlus USB驱动程序1.00
    • 三星USB驱动程序
  3. 我还卸载了所有模拟器及其各自的驱动程序(可选)
    • Nox及相关驱动程序
    • 蓝栈
    • Genymotion

清除所有与Android相关的环境变量。

  1. %ANDROID_HOME%如果已设置,请删除
  2. %ANDROID_SDK_HOME%如果已设置,请删除

此时,我所有的设备都神奇地栩栩如生,并开始显示“ 允许USB调试?提示并通过ADB正确连接。如果您已经做到了这一点,但是还没有找到解决方案,那么我真的很抱歉您陷入这种困境。完成所有这些步骤后,请确保已重新启动所有设备和开发机,并使用新电缆将其连接到新的USB端口。

如果仍然不能解决问题,请尝试以下有关此主题的其他SO帖子:


8
这里的其他建议都没有奏效,但这使我步入正轨。〜/ .android目录部分几乎正确。在最近针对SDK的Android Studio更新之后,adb停止工作,这显然是这些症状。最后,我发现〜/ .android / adbkey和〜/ .android / adbkey.pub都是0大小的文件,因此我删除了它们,重新启动了adb服务器,等等!立即获得我的身份验证提示。
mkilmanas

3
也很高兴删除~/.android
Evan Carroll

3
谢谢。在完成所有其他事情并在那里呆了很长时间之后,删除〜/ .android为我解决了它!
谢拉

@EvanCarroll你只需要删除~/.android/adbkey
若昂·皮门特尔·费雷拉

删除adbkey文件对我有用。重置设备,个人计算机等并删除之后;
凯文·克洛特

15

作为参考,我在Linux上遇到了几乎相同的问题,并且很难搞清楚。最终,我确定我拥有一个〜/ .android目录,该目录是root拥有的(这是由于以root身份运行adb,而在尝试找出其他连接问题时却四处摸索)。下次我重新连接设备时,删除该根目录拥有的〜/ .android目录可解决缺少的授权对话框。

仅仅更改所有权也可能解决了问题-我猜这是根本无法访问存储在其中的adb密钥文件,这是问题的根源。不过,我没有证实这一点,也不会故意破坏我来之不易的连接,以便可以检查;-)


对我来说,问题是~/.android文件夹缺少adbkey.pub文件。
那个巴西人

13

对我有用的步骤:
1.断开手机与USB电缆的连接
2.撤消手机上的USB调试
3.重新启动设备
4.重新连接设备

最重要的部分是重新启动设备。没有它就没有工作。


根据我使用AndroidTV设备的经验,我记得它们的行为与普通手机相同,因此您应该尝试一下。
vovahost

谢谢,所以我需要的是公对公USB电缆。darrrn,@ vovahost表示感谢
ralphgabb

8

如消息所述,您需要允许手机上的adb访问。

您需要先使用USB电缆将手机连接到PC,然后授权消息将在屏幕上弹出。勾选记住您的选择,然后允许它。

如果您的设备连接到PC时未显示任何消息,请执行此操作。

删除/ data / misc / adb / adb_key,重新启动手机,然后尝试重新连接。该消息应该出现。


2
仍然没有消息。我现在不知道该怎么办:(我不想在模拟器上调试...
Quak

拔下并重新插拔作品!首次启用USB调试时,会发生这种情况。
大卫·道格拉斯

8

我的Nexus 10出现此错误。我尝试了所有可以找到的答案,然后才意识到自己使用的USB端口与往常不同。我改用笔记本电脑另一侧的常用端口,并且平板电脑上弹出授权信息!


6

在osx和Nexus 5(A6.0.1)上也有类似的问题。尽管Android Studio或任何其他IDE都可以连接到设备,但我确实获得了授权弹出窗口并确认了该弹出窗口。

原来我的Nexus(植根)缺少密钥文件。

  • 重新启动Android设备进入恢复状态
  • 然码粘贴在下面
  • 重新启动Android设备后,adb现在可以识别设备

将密钥从计算机推送到Android设备:

 cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys

解决方案来自这里


这是无法显示ADB授权对话框(例如,安装了自定义内核时)的设备的答案
BamsBamx


5

解决方案是将文件~/.android/adbkey.pub(在GNU / Linux或%USERPROFILE%\.android\adbkey.pubWindows上)复制到Android,然后将其放置为/data/misc/adb/adb_keys。您需要root权限才能执行此操作。

您可以通过任何喜欢(或能够)的方式传输文件,无论是USB,电子邮件还是临时文件上传服务。就我而言,由于它是在虚拟机中安装的新的Android-x86,没有可用的Web浏览器,并且网络/ TCP adb无法正常工作,因此我实际上必须输入715个字符。

至少它起作用了。


4

我没有在手机上弹出RSA指纹。

我不得不去

  C:\Users\<userName>\.android\adbkey and adbkey.pub 

文件,删除这些文件,然后终止并重新启动adb服务器。我必须停止并重新启动调试器,并在PTP模式下以USB连接。

因为RSA授权密钥已存储在此路径中,所以终止并重新启动adb服务器无济于事。


4

这解决了我的问题!

  1. 运行你的Android模拟器
  2. 进入设置并启用开发者模式
  3. 从开发人员设置中启用USB调试

此时,您将在模拟器上弹出弹出消息以授权该设备,您可以开始使用:)


3

如果您使用的是ubuntu,请尝试以root用户身份运行服务器:

sudo adb kill-server

sudo adb start-server

这对我在Ubuntu 19.10和Amazon Fire 7上的帮助很大,谢谢!
凌晨

3

您应该删除文件: c:\users\_user_name_\.android\adbkey


这帮助我完成了@Martin的5个步骤。这可步骤2和3之间去
猫佩里

2

在某些三星设备上,如果*#0808#不直接重启就无法通过拨号设置模式更改。重新启动后,拨打相同的字符串,并确保已adb + mdp选择并且USB设置为AP。之后,请确保重新连接电话并重新启动ADB服务器。还要避免避免USB集线器和虚拟机,否则肯定会使事情进一步复杂化。请遵循上述清除授权设备等的说明。


大!适用于Samsung Galaxy S5 Android 5.0(从KitKat更新的OTA)。我还应该提到,该问题仅出现在Windows 7桌面上。在Windows 7笔记本电脑和mini-mac中,它从不要求授权!
madlymad

2

我有一个类似的问题。但是,使用其他解决方案解决了该问题。我想我也可以在这里分享。让我先描述我的问题。

我在ubuntu中安装了Android SDK。android SDK的路径不在环境变量路径中。我使用apt-get命令安装了adb ,但找不到sdk主文件夹,因此,它显示了未经授权的错误,并且该设备也未弹出任何内容。我被困在这里。

然后,我卸载了apt-get purge先前安装的adb 。Android SDK在platform-tools文件夹中有adb程序。我只是将路径添加到环境变量中,所以它的作用就像是一种魅力。

export PATH=${PATH}:/home/YOUR-USERNAME/path/to/adb
adb devices
List of devices attached
f7f716d56905    device

因此,问题不是将Android SDK设置为环境变量路径。


2

更换开发设备后,同样的问题开始出现,解决方法是:

$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server

1

检查是否安装了凯斯。那是一种可能的解决方案


1

我只是尝试adb kill-server,它对我有用

PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186        unauthorized
PS C:\Users\languoguang> adb shell
error: 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.

杀死并启动adb服务器:

PS C:\Users\languoguang> adb kill-server
PS C:\Users\languoguang> adb start-server
* daemon not running; starting now at tcp:12345
* daemon started successfully
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186        device

1

断开设备与计算机的连接。

进入开发人员设置。

关闭开发人员设置。

打开开发人员设置。

启用USB调试(以及您之前启用的任何其他设置)

将设备重新连接到计算机。

再试一次。

为我工作,希望对您有用!


0

我在两部手机中收到相同的消息:

- Sony Xperia E
- Samsung Galaxy Core 2

都是Android 4.4.2,我通过以下两个步骤解决了它:

1.-将我的adb更新到1.0.31,从SDK Manager下载最新版本的Android SDK

您可以通过键入以下内容检查adb版本

adb version

2.-手机插入USB调试模式后,将出现一条消息,要求您授权此计算机进行调试。您必须标记“始终允许这台计算机”,然后单击“ 允许”

希望能帮助到你。


0

这是错误的,因为您的窗口版本没有USB 3.0驱动程序来接收来自电话的身份验证权限。我花了5天的时间解决这个错误。现在,安装58964_Intel(R)_USB_3.0驱动程序。并继续使用很棒的代码!

我使用此链接下载驱动程序


0

并非在所有情况下都可以使用,但是因为我使用了较长的电缆,所以我的设备无法正确连接,并且不会弹出更改电缆的消息,这可能会解决问题


0

adb usb 为我工作这将重新启动侦听USB端口的adb守护程序,该命令返回:

错误:设备未经授权。请检查设备上的确认对话框

。但是,RSA密钥的提示立即显示在电话上。我批准后,一切都会按预期开始


这只是给我“错误:找不到设备/仿真器”。

0

安装Android Studio后,我对文件夹“〜/ .android”(访问权限仅用于root用户的读写)具有不正确的权限。因此,我进行了更改并从Android Studio运行了项目(该设备仍被标记为“未经授权”)。

Android Studio显示错误“安装apk时出错”,但是在文件夹“〜/ .android”中创建了文件“ adbkey”,“ adbkey.pub”,“ debug.keystore”。

之后,我重新启动了adb(执行命令adb kill-server adb start-server命令),并且授权对话框出现在我的设备上。

希望有人能解决这个问题。


0

解决此问题的方法是再次断开USB电缆并将其重新连接到USB端口(与本机上的另一个端口连接)。

然后,我选择了充电,仅此而已。移动设备要求我授予对计算机的访问权限,我同意了,这解决了问题。

运行adb设备时,我在列表中看到了该设备。

(在Windows 10家庭版中完成)。


0

我在此问题上停留了很长时间,并且能够通过从手机所连接的计算机复制adbkey来完全避免该问题。

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.