无法将Nexus 4连接到ADB:未经授权


153

我有一个配备Android 4.3的Nexus 4,并且正在尝试将该设备连接到Windows 7 64位版本的计算机。

我安装了最新的驱动程序和最新adb版本。我想我几乎尝试了所有事情,但仍然收到以下消息:

C:\Program Files (x86)\Android\sdk\platform-tools>adb devices
List of devices attached
007667324ccb229b        unauthorized

该错误的原因可能是什么?

Answers:


263

我也有类似情况。这是我所做的:

尝试检查并取消选中设备中的USB调试选项。(如果不起作用,请尝试拔出/插入USB)

在某个时候,设备应显示一个消息框,询问您是否授权计算机。单击“是”后,便会授权该设备并挂断连接。


1
是的,我下载了USB驱动程序,启用了USB调试,并遇到了这个问题。我必须拔下/重新插入S4,然后在S4中收到“授权”提示。现在,adb设备显示“设备”,我可以运行我的应用程序。
罗布2014年

4
直到我通过取消选中所有媒体和设备的“使用自动播放”来禁用Windows自动播放,此授权消息才对我
有用

1.拔下插头,取出所有通过的允许的设备,重新插上插头,检查remember,2。3.赢利!

我只需要等待大约一分钟,设备上就会出现授权框。
Ryan R

1
还要检查是否echo %ANDROID_SDK_HOME%设置了正确的路径
sritmak

57

我没有删除任何键就解决了这个问题。这是如何做:

  1. 我的设备通过USB连接到我的计算机
  2. 我确保Eclipse和android设备监视器未运行。
  3. 在命令行提示符下键入:adb kill-server
  4. 在命令行提示符下键入:adb start-server
  5. 重新启动adb之后,我的设备上出现提示,以授权我允许的内容。

这对我也有用。出现提示要求我接受RSA密钥。几年前从来没有这么麻烦过。有人把事情搞砸了…
Deliciousbrownies 2013年

请注意,在“ adb启动服务器”之后,您应该看到“ *守护程序未运行”。现在在端口XXXX上启动它,然后在“守护程序成功启动后启动*”。
丹尼·帕克

这是正确的答案。仅取消选中然后重新检查USB连接的调试选项对我没有任何帮助,拔出插头然后重新连接USB电缆也无济于事。在完成adb kill-server之后,再执行adb start-server,然后未选中USB调试,然后重新选中USB调试,它就可以了。
MiloDC

这个答案解决了我遇到的问题:我的设备获得授权,但后来以某种方式“忘记了”。我尝试了多种方法来修复它,但是“ adb kill-server”最终完成了这项工作。
理查德·琼斯

我的手机无法启动,它处于启动循环中,我无法启用USB调试,该怎么办!
MBX

43

将USB连接模式从MTP更改为相机(对于Nexus 7),或者可能更改为大容量存储或其他(对于其他设备)。此选项通常位于下Settings -> Storage。然后再次连接设备,您将看到授权对话框。

众所周知,MTP会干扰USB调试-在大多数较旧的设备上,这两者根本无法协同工作。Nexus 7和许多更新的设备确实允许两者一起使用,但是这个特殊问题表明它还不是那么顺利。

奖励-何时adb表现不佳的清单:

  • adb kill-server 其次是 adb start-server
  • (在设备上) Settings -> Developer Options -> USB Debugging -关闭然后再打开
  • [Windows]确保您具有正确的驱动程序(最好的选择是Koushik Dutta的Universal Adb Driver-可以处理任何设备)
  • [Windows]尝试关闭所有动态的反恶意软件扫描器/防火墙
  • [Linux]确保您具有正确的UDEV规则/etc/udev/rules.d/51-android.rules(再次,通用解决方案:https : //github.com/snowdream/51-android
  • [Linux]确保~/.android您所拥有的所有东西都不归您所有root(并支持此答案
  • 重新启动设备(是的,令人惊讶的是,这也是一种有效的措施)
  • (显然)重新插入电缆,尝试使用不同的电缆,不同的端口,并卸下所有扩展电缆

这很好。似乎迫使Windows 7计算机重新安装驱动程序。
barconr 2014年

解决了我的Nexus4。谢谢
Diederik 2014年

哇-终于成功了!我已经尝试了几个小时,尝试让Nexus 7弹出身份验证对话框。为了将来参考,要更改USB连接模式,您必须进入“设置”,“存储”,然后单击右上角的菜单图标按钮-讨论晦涩!我既没有选择MTP也没有选择Camera,但是一旦我选择了Camera选项,就会弹出对话框(当然,它已插入)。
乔纳森2014年

“ [Linux]确保〜/ .android下的所有内容都归您所有,而不是root(并支持此答案)” -这是我解决的问题。谢谢!
佐尔坦

这应该是公认的答案...!非常感谢。
Markon

24

我认为当设备尝试显示请求许可的屏幕时出现错误,因此它不会出现。

这对我有用(命令在中给出adb shell):

  1. rm /data/misc/adb/adb_keys;
  2. 我通过电子邮件将公钥(〜/ .android /中的adbkey.pub)从计算机发送到我的设备;
  3. 调用stop adbd;
  4. cat adbkey.pub >> /data/misc/adb/adb_keys (授权自己);
  5. start adbd (使用新密钥重新启动ADB)。

Linux路径是“〜/ .android /”吗?-在Windows上哪里可以找到?
BrainSlugs83

...找到它,它在“%HOMEDRIVE %% HOMEPATH%\。Android”下,这是IMO放置事物的真正奇怪的地方(至少在Windows中-应用程序数据应存储在%AppData%下)。 。
BrainSlugs83

在无法连接USB电缆的Galaxy S4中为我工作。现在,我至少可以通过adb无线连接到它。
Alejandro Mezcua 2014年

1
如果您由于某种原因没有USB连接,只有这样做。
gnac

1
当您为设备砌砖时,此方法特别好。
伊恩·黄

17

确保启用USB调试后,请解锁手机并通过USB将其插入计算机。然后,将要求您授权与所连接计算机的通信。它还将显示计算机的RSA密钥指纹。

在此处输入图片说明

接受它,您就可以开始了!


11

1.)删除台式机上的〜/ .android / adbkey

2.)运行命令“ adb kill-server”

3.)运行命令“ adb start-server”

现在,系统将提示您接受调试密钥。


1
此外,我还从台式机上删除了adbkey.pub,并从Android设备上删除了/ data / misc / adb / adb_key。-我的确得到了提示-亚行又开始工作了一段时间-但它死后不久又回到离线模式,不知道为什么。
BrainSlugs83

我在答案列表中走得很远,但是这个解决方案终于解决了。
德鲁多尔曼

感谢分享。删除adbkey文件并重新启动adb对我有用。
Sujan Shrestha

9

与Flavio的答案(https://stackoverflow.com/a/18542792/1064996)类似,这与文件中的文件有关~/.android(在主机上,而不是电话上)。

我没有~/.android/adbkey,但是我确实有~/.android/debug.keystore,我的整个~/.android目录都由root拥有。我删除了密钥库文件,也将所有权更改为我(sudo chown -R $USER ~/.android),杀死了adb服务器并插入了手机,然后它开始工作了。

可能是所有权问题。确保您具有以下权限:~/.android


1
感谢您的回答,链接-完美。〜/ .android上的权限问题
dpb 2014年

1
你救了我,谢谢。为什么没有人在整个互联网并没有提到权限问题....
neustart47

8

四个简单步骤

./adb kill-server ./adb start-server

重新插入设备,解锁并接受新密钥


谢谢,这是最简单的方法,我跑了,adb kill-server && adb start-server因为它是单线的。我喜欢这种方法,因为我的开发团队也使用android设备,并且如其他地方所建议的那样重置开发人员选项,可能会对团队的其他成员造成不便。
2015年

8

对于我的Samsung S3,我必须进入电话上的“开发人员选项”,取消选中“ USB调试”复选框,然后重新选中它。

然后将出现对话框,询问您是否要允许USB调试。

完成此操作后,“ adb devices”命令将不再显示“ 未经授权 ”作为我的设备名称。

(几个月后..)

实际上,连接我的Galaxy Tab S设备也是如此,而Android 4.4.2的菜单选项则稍有不同:

在此处输入图片说明


7

这是我的步骤版本:

  1. 确保adb正在运行
  2. 在设备中,转到设置->开发人员选项->撤销USB调试权限
  3. 断开设备
  4. 在adb shell中,输入> adb kill-server
  5. 在adb shell中,输入> adb start-server
  6. 连接设备

如果adb shell显示空主机名,请重新启动设备


7

有同样的问题。不知道这些步骤对于Windows是否与我使用OS X设备相同,但是您可以尝试:

  1. 重新启动手机进入恢复模式。
  2. 将其连接到计算机。
  3. 打开终端并输入:

    cd ~/.android
    adb push adbkey.pub /data/misc/adb/adb_keys
  4. 全做完了!只是adb shell reboot感受到力量!


4
你刚刚结束了我2.5小时的挫败感!
Deko

6

在Windows 8.1的Nexus 5上获取授权令牌时遇到相同的问题。我没有安装最新的adb驱动程序-这在设备管理器中可见。在此处从Google下载了最新的ADB USB驱动程序:http : //developer.android.com/sdk/win-usb.html

更新了设备管理器中的驱动程序,但是启用/禁用USB调试和拔出/插入USB仍然不起作用。最后,一旦更新驱动程序,其他答案中提到的“ adb kill-server”和“ adb start-server”就成功了。


在我卸载了旧驱动程序并选中“删除驱动程序”复选框之后,在​​Windows 7上为我工作了……然后将新驱动程序重新安装到了设备上。
Kaleb 2014年

4
  1. 确保adb是最新的
  2. 确保您使用的是Google USB驱动程序:http : //developer.android.com/tools/extras/oem-usb.html
  3. 确保将您的ANDROID_SDK_HOME环境变量设置为正确的路径

这个答案应该更高-最新版本的Android Studio会迫使您将SDK目录移出AS安装路径。在Windows上执行此操作而不移动ANDROID_SDK_HOME环境变量将导致设备显示为unauthorized
sigmabeta

这...这确实有效。我的ANDROID_SDK_HOME设置为...\Android\sdk文件夹位于时...\Android\android-sdk。更改它并打开一个新的命令提示符(以使用更新的环境变量)使我在adb-devices再次启动后弹出。
leewz

1

我重新安装了usb驱动程序,并确保未使用USB 3.0端口。

然后,我关闭了日食并杀死并重新启动adb

立即在电话上提示允许计算机访问。接受后,我重新启动了eclipse,现在我的Galaxy S3出现在设备设备管理器中。


1

对我来说,一旦我禁用了MTP(在“设置”>“存储”>“菜单”>“ MTP”中),我终于得到了RSA提示符


1

如果您通过网络使用adb,请尝试通过USB连接,反之亦然。这对我有用。接受一次后,它以后总是可以使用。


1

这种旧的帖子,在大多数情况下,我认为大多数人都支持的答案将对人们有用。

在GPE HTC M8上的棒棒糖中,我仍然遇到问题。以下步骤对我有用。

  1. 前往设置
  2. 点击存储
  3. 点击右上角的3个点
  4. 点击USB计算机连接
  5. 取消MTP
  6. 取消PTP
  7. 返回控制台,输入 adb devices

现在,您应该在手机上看到RSA弹出窗口。


1

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

我必须删除C:\Users\<userName>\.android\adbkeyadbkey.pub文件,然后终止并重新启动adb服务器。

adb kill-server
adb start-server

我必须停止并重新启动调试器,并在PTP模式下以USB连接。

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


0

我可以按照此处列出的步骤解决此问题:http : //forum.xda-developers.com/showthread.php?t=2247471

delete the computers adb key: rm /data/misc/adb/adb_key on device 

(I have no idea if in case of multiple authorized computers the additional keys are in a new line of the file or if they are in new files. I have only 1 computer.)

stop all adb processes "killall adb" in linuxoids and "taskkill /IM adb.exe" in windows or simply the taskmanager in both.

restart the phone

toggle usb debugging off and on

connect

use adb

click authorize

没用...要提的重要事情:我尝试使用Windows XP将设备连接到另一台计算机,并且工作正常。所以我想问题不在于usb电缆或设备本身,而是我找不到问题在计算机中的任何原因...谢谢!
orS 2013年

必须使用“ taskkill / F / IM adb.exe”-“ / F”是强制的。当我尝试不带“ / F”时,它告诉我无法终止,并且我必须使用“ / F”。
BrainSlugs83

0

我必须重新安装我的adb驱动程序才能脱离该探针。我已安装“ Universal Naked Driver”以恢复手机。我将其卸载并从android sdk重新安装了驱动程序。


0

当我关闭Comodo Antivirus时,一切恢复正常。这里建议的所有其他解决方案都是徒劳的。我以某种方式找到了一种解决方案。

如果您使用的是Comodo Antivirus(版本6.3 /对于其他版本,请搜索类似选项),以下解决方案将为您提供帮助。

打开Comodo>任务>高级任务>打开高级设置>安全设置>防火墙>防火墙设置>高级:过滤回送流量(例如127.xxx,:: 1)

取消选中此“筛选器回送流量”选项,这将阻止adb正常工作。


0

使用其他USB电缆。某些电缆可能未连接所有引脚,也可能未连接所有引脚,并且在进行图像传输时,调试/ adb不起作用。

最重要的是:我不骗你。适用于我的手机的电缆(adb可用)不适用于我的平板电脑-设备始终处于脱机状态或未经授权,并且平板电脑不会弹出任何对话框。我尝试了多次重新启动,设置,在此过程中我发疯了,并且诅咒该死的Android。然后我不小心插入了平板电脑随附的电缆,但突然工作了。我对Android的迷恋肯定已经消失了。多么愚蠢的垃圾。


0

在我的备份软件更改了对我的用户目录的权限之后,对我而言这发生了。我在文件资源管理器中将其打开,它提示我设置权限,并解决了该问题。

仅供参考:Android在“ \ User \ .android”下有一个特殊目录,如果您无法访问它,则不会提示您。


0

我的解析是adb devices从命令提示符运行的,并已转到adb应用程序。例如C:\ Android \ platform-tools \ adb devices。运行此命令返回以下内容* daemon not running. starting it now on port 5037 * *daemon started successfully *

然后,我看到该设备被列为未授权设备,拔下USB,重新插入,并被提示输入RSA指纹。



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.