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

时间:2013-08-02 07:57:35

标签: android authorization adb nexus-4 android-4.2-jelly-bean

我有一台带有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

出现此错误的原因是什么?

26 个答案:

答案 0 :(得分:263)

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

尝试检查并取消选中设备中的USB调试选项。 (如果不工作,请尝试拔下/插上USB)

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

答案 1 :(得分:57)

我在没有删除任何键的情况下解决了这个问题。方法如下:

  1. 我的设备已通过USB连接到我的电脑
  2. 我确定Eclipse和Android设备监视器没有运行。
  3. 在命令行提示符下键入:adb kill-server
  4. 在命令行提示符下键入:adb start-server
  5. adb重新启动后,我的设备上有一个提示,要求我授权。

答案 2 :(得分:42)

从MTP到相机的USB连接模式(对于Nexus 7),或者可能到 Mass Storage 或其他(对于其他设备)。此选项通常位于Settings -> Storage下。然后再次连接设备,您将获得授权对话框。

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

奖金 - adb表现不佳的核对清单:

  • adb kill-server后跟adb start-server
  • (在设备上) Settings -> Developer Options -> USB Debugging - 关闭并开启
  • [Windows] 确保您拥有合适的驱动程序(最好的选择是Universal Adb Driver by Koushik Dutta - 将处理任何设备)
  • [Windows] 尝试关闭所有花哨的动态反恶意软件扫描程序/防火墙
  • [Linux] 确保/etc/udev/rules.d/51-android.rules中有正确的UDEV规则(再次,通用解决方案:https://github.com/snowdream/51-android
  • [Linux] 确保~/.android下的所有内容归您所有,而不是root(以及upvote this answer
  • 重启设备(是的,令人惊讶的是,这也是一个有效的措施)
  • (显然)重新插上电缆,尝试不同的电缆,不同的端口,移除任何扩展器电缆

答案 3 :(得分:24)

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

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

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

答案 4 :(得分:17)

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

enter image description here

接受它,你很高兴去!

答案 5 :(得分:11)

1。)删除桌面计算机上的〜/ .android / adbkey

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

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

现在应该提示您接受调试密钥。

答案 6 :(得分:9)

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

我没有~/.android/adbkey,但我确实有~/.android/debug.keystore,我的整个~/.android目录都归root所有。我删除了密钥库文件,并将所有权更改为我(sudo chown -R $USER ~/.android),杀死了adb服务器并插入了我的手机,它运行良好。

这可能是所有权的事情。确保您在~/.android

中拥有读/写权限

答案 7 :(得分:9)

四个简单的步骤

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

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

答案 8 :(得分:8)

对于我的三星S3,我不得不进入手机上的开发者选项,取消勾选“USB调试”复选框,然后重新勾选它。

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

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

(几个月后......)

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

enter image description here

答案 9 :(得分:7)

以下是我的步骤版本:

  1. 确保adb正在运行
  2. 在设备中转到设置 - >开发者选项 - >撤销USB调试权限
  3. 断开设备
  4. 在adb shell类型> adb kill-server
  5. 在adb shell类型> adb start-server
  6. 连接设备
  7. 如果adb shell显示空主机名,请重启设备

答案 10 :(得分: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”在驱动程序更新后就成功了。

答案 11 :(得分:5)

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

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

    cd ~/.android
    adb push adbkey.pub /data/misc/adb/adb_keys
    
  4. 全部完成!只需adb shell reboot并感受到力量!

答案 12 :(得分:4)

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

答案 13 :(得分:1)

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

然后我关闭了eclipse并杀死并重新启动adb

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

答案 14 :(得分:1)

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

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

adb kill-server
adb start-server

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

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

答案 15 :(得分:1)

对我来说,一旦我禁用MTP(在设置&gt;存储&gt;菜单&gt; MTP),我终于得到了RSA提示

答案 16 :(得分:1)

如果您通过网络访问adb,请尝试通过USB连接,反之亦然。这对我有用。接受之后,一旦它总是在以后工作。

答案 17 :(得分:1)

这种旧帖子,在大多数情况下,我认为最受欢迎的答案对人们有用。

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

  1. 转到设置
  2. 点击存储
  3. 点击右上角的3个点
  4. 点击USB电脑连接
  5. UNCHECK MTP
  6. UNCHECK PTP
  7. 返回控制台,输入adb devices
  8. 现在你应该在手机上获得RSA弹出窗口。

答案 18 :(得分:0)

使用其他USB连接线。有些电缆可能没有连接所有引脚或什么都没有,当它们用于图像传输时,调试/ adb不起作用。

底线:我没骗你。适用于我的手机(adb工作)的电缆不适用于我的平板电脑 - 设备始终处于脱机状态或未经授权,平板电脑不会弹出对话框。我尝试了多次重启,设置,我在这个过程中疯狂,并诅咒血腥的Android。然后我不小心插上了平板电脑附带的电缆,然后突然工作了。我对Android的迷恋肯定不见了。多么愚蠢的垃圾。

答案 19 :(得分:0)

简单的重新插入为我做了诀窍.... 第一次插入设备时,权限对话框没有出现,第二次出现,一切都很好。

答案 20 :(得分:0)

我面临同样的问题,我发现我使用的是简单的USB线缆,仅用于充电,而不是数据复制。使用好的USB电缆解决了我的问题!

答案 21 :(得分:0)

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

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

答案 22 :(得分:0)

在我的备份软件将权限更改为我的用户目录后,它发生了。我在文件资源管理器中打开它,它促使我设置权限,它解决了问题。

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

答案 23 :(得分: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

答案 24 :(得分:0)

当我关闭 Comodo Antivirus 时,一切都恢复正常。这里建议的所有其他解决方案都是徒劳的。不知怎的,我想出了一个解决方案。

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

Open Comodo&gt;任务&gt;高级任务&gt;打开高级设置&gt;安全设置&gt;防火墙&gt;防火墙设置&gt;高级:过滤环回流量(例如127.x.x.x,:: 1)

取消选中此“过滤环回流量”选项,可防止adb正常工作。

答案 25 :(得分:0)

我不得不重新安装我的adb驱动程序以快速解决这个问题。为了恢复手机,我安装了“Universal Naked Driver”。我卸载了它并从android sdk重新安装了驱动程序。