无法将Nexus 4连接到adb:未经授权
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将Nexus 4连接到adb:未经授权相关的知识,希望对你有一定的参考价值。
我有一个带有android 4.3的Nexus 4,我正在尝试将设备连接到装有Windows 7 64bit的计算机。
我安装了最新的驱动程序和最新的adb
版本。我想我几乎尝试了一切,但仍然得到以下消息:
C:Program Files (x86)Androidsdkplatform-tools>adb devices
List of devices attached
007667324ccb229b unauthorized
这个错误的原因是什么?
我有类似的情况。这是我做的:
尝试检查并取消选中设备中的USB调试选项。 (如果不工作,请尝试拔下/插上USB)
在某些时候,设备应该显示一个消息框,询问您是否授权计算机。单击“是”后,将授权该设备并连接该连接。
这是我的步骤版本:
- 确保adb正在运行
- 在设备中,转到设置 - >开发人员选项 - >撤消USB调试权限
- 断开设备
- 在adb shell类型> adb kill-server中
- 在adb shell类型> adb start-server中
- 连接设备
如果adb shell显示空主机名,请重启设备
在Windows 8.1上的Nexus 5上获得授权令牌时遇到同样的问题。我没有安装最新的adb驱动程序 - 这在设备管理器中可见。从这里下载了最新的ADB USB驱动程序:http://developer.android.com/sdk/win-usb.html
更新了设备管理器中的驱动程序,但启用/禁用USB调试和拔出/插入USB仍然无法正常工作。最后,一旦驱动程序更新,其他答案中提到的“adb kill-server”和“adb start-server”就会成功。
有同样的问题。不确定这些步骤是否与我使用OS X设备的步骤相同,但您可以尝试:
- 将手机重新启动到恢复模式。
- 将其连接到您的计算机。
- 打开终端并输入:
cd ~/.android adb push adbkey.pub /data/misc/adb/adb_keys
- 全部完成!只是
adb shell reboot
并感受到力量!
- 确保adb是最新的
- 确保您使用的是谷歌USB驱动程序:http://developer.android.com/tools/extras/oem-usb.html
- 确保将ANDROID_SDK_HOME环境变量设置为正确的路径
我重新安装了usb
驱动程序并确保我没有使用USB 3.0
端口。
然后我关闭了日食并杀死并重新启动了adb
。
立即通过电话提示允许计算机访问。接受后我重启了eclipse,现在我的Galaxy S3显示在设备设备管理器中。
对我来说,一旦我禁用了MTP(在设置>存储>菜单> MTP中),我终于得到了RSA提示
如果您使用adb通过网络,请尝试通过USB连接,反之亦然。这对我有用。一旦接受它,它总是在以后工作。
这种旧帖子,在大多数情况下,我认为最受欢迎的答案将适用于人们。
在棒棒糖上的GPE HTC M8上我仍然遇到问题。以下步骤对我有用。
- 前往设置
- 点击存储
- 点击右上角的3个点
- 点击USB计算机连接
- UNCHECK MTP
- UNCHECK PTP
- 回到控制台,输入
adb devices
现在你应该在手机上获得RSA弹出窗口。
我的手机上没有弹出RSA指纹。
我不得不删除C:Users<userName>.androidadbkey
和adbkey.pub
文件,然后杀死并重新启动adb服务器。
adb kill-server
adb start-server
我必须停止并重新启动调试器并在PTP模式下作为USB连接。
由于RSA授权密钥已存储在此路径中,因此终止并重新启动adb服务器无济于事。
我能够按照此处列出的步骤解决这个问题: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
我没有删除任何键就解决了这个问题。这是如何做:
- 我的设备通过USB连接到我的电脑
- 我确保Eclipse和Android设备监视器没有运行。
- 在命令行提示符下键入:adb kill-server
- 在命令行提示符下键入:adb start-server
- 重新启动adb后,我的设备上有一个提示,要求我允许我进行授权。
我不得不重新安装我的adb驱动程序以快速解决这个问题。为了恢复手机,我安装了“Universal Naked Driver”。我卸载了它并重新安装了驱动程序的android sdk。
当我关闭我的Comodo Antivirus时,一切都恢复正常。这里建议的所有其他解决方案都是徒劳的。不知怎的,我想出了一个解决方案。
如果您使用的是Comodo Antivirus(版本6.3 /其他版本搜索类似选项),以下解决方案将对您有所帮助。
打开Comodo>任务>高级任务>打开高级设置>安全设置>防火墙>防火墙设置>高级:过滤环回流量(例如127.x.x.x,:: 1)
取消选中“过滤环回流量”选项,可防止adb正常工作。
使用其他USB电缆。某些电缆可能没有连接所有引脚或诸如此类,并且当它们用于图像传输时,调试/ adb不起作用。
底线:我没骗你。适用于我的手机(adb工作)的电缆不适用于我的平板电脑 - 设备始终处于脱机状态或未经授权,平板电脑不会弹出对话框。我尝试了多次重启,设置,我在这个过程中疯狂,并诅咒血腥的Android。然后我不小心插上了平板电脑附带的电缆,然后突然工作了。我对Android的迷恋肯定不见了。多么愚蠢的垃圾。
在我的备份软件将权限更改为我的用户目录后,它发生在我身上。我在文件资源管理器中打开它,它促使我设置权限,它解决了问题。
仅供参考:Android在“ User .android”下有一个特殊目录如果您无法访问它,它将不会提示您。
我的解决方案是从命令提示符运行adb devices
,将其修改为adb应用程序。例如C: Android platform-tools adb devices。运行此命令返回以下* daemon not running. starting it now on port 5037 *
*daemon started successfully *
然后我看到设备被列为未经授权的设备,拔掉USB插头,重新插入并提示输入RSA指纹。
我面临同样的问题,我发现我使用的是简单的usb电缆,仅用于充电,而不是数据复制。用好USB线缆解决了我的问题!
简单地重新插入就可以解决这个问题了......第一次插入设备时,权限对话框没有出现,第二次出现,现在一切都很好。
Сhange从MTP到相机(用于Nexus 7)的USB连接模式,或者可能用于大容量存储或其他设备(用于其他设备)。此选项通常在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) - 重启设备(是的,令人惊讶的是,这也是一个有效的措施)
- (显然)重新插入电缆,尝试不同的电缆,不同的端口,移除任何扩展器电缆
我认为当设备尝试显示要求许可的屏幕时出错,因此它不会出现。
这对我有用(命令在adb shell
中给出):
rm /data/misc/adb/adb_keys
;- 我通过电子邮件将公钥(adbkey.pub在〜/ .android /中)从我的电脑发送到我的设备;
- 调用
stop adbd
; cat adbkey.pub >> /data/misc/adb/adb_keys
(授权给自己);start adbd
(使用新密钥重新启动adb)。
确保已启用USB调试后,请解锁手机并通过USB将其插入计算机。然后,系统会要求您授权与已连接的计算机进行通信。它还将显示计算机RSA密钥指纹。
接受它,你很高兴!
1.)删除桌面计算机上的〜/ .android / adbkey
2.)运行命令“adb kill-server”
3.)运行命令“adb start-server”
现在应该提示您接受调试密钥。
四个简单的步骤
./adb kill-server
./adb start-server
重新插入设备,解锁并接受新密钥
与Flavio的答案(https://stackoverflow.com/a/18542792/1064996)类似,它与~/.android
中的文件有关(在主机上,而不是手机上)。
我没有~/.android/adbkey
,但我确实有~/.android/debug.keystore
和我的整个~/.android
目录由root拥有。我删除了密钥库文件,并将所有权更改为我(sudo chown -R $USER ~/.android
),杀死了adb服务器并插入了我的手机,它运行正常。
这可能是所有权的事情。确保您在~/.android
中具有读/写权限
对于我的三星S3,我不得不进入手机上的开发者选项,取消选中“USB调试”复选框,然后重新勾选它。
然后会出现对话框,询问您是否要允许USB调试。
一旦我这样做,“adb devices
”命令不再显示“未授权”作为我的设备名称。
(几个月后..)
实际上,连接我的Galaxy Tab S设备也是如此,菜单选项与Android 4.4.2略有不同:
以上是关于无法将Nexus 4连接到adb:未经授权的主要内容,如果未能解决你的问题,请参考以下文章
无法将 Nexus One 手机连接到 Android adb