无法将Nexus 4连接到adb:未经授权的
我有一个与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
什么可能是这个错误的原因?
我有类似的情况。 这是我做的:
尝试检查并取消选中设备中的USBdebugging选项。 (如果不工作,尝试拔下/插入USB)
在某个时候,设备应该显示一个信息框询问您是否授权电脑。 单击“是”后,设备将被授权,连接被挂起。
我解决了这个问题,没有删除任何键。 就是这样:
- 我的设备通过USB连接到我的电脑
- 我确定Eclipse和Android设备监视器没有运行。
- 在命令行提示符下键入:adb kill-server
- 在命令行提示符处键入:adb start-server
- adb重新启动后,我在设备上得到一个提示,授权我允许的。
改变MTP到相机的USB连接模式 (适用于Nexus 7),或者可能更改为大容量存储器或其他设备(用于其他设备)。 这个选项通常在Settings -> Storage
。 然后重新连接设备,你会得到授权对话框。
已知MTP会干扰USBdebugging – 在大多数较旧的设备上,这两者并不能一起工作。 Nexus 7和许多较新的设备确实可以一起工作,但是这个特殊的问题表明它并不是那么顺利。
奖金 – adb
performance不佳时的清单:
-
adb kill-server
后跟adb start-server
- (在设备上)
Settings -> Developer Options -> USB Debugging
– closures和打开 - [Windows]确保你有正确的驱动程序(你最好的select是Koushik Dutta的Universal Adb Driver – 可以处理任何设备)
- [Windows]请尝试closures所有奇特的反恶意软件扫描程序/防火墙
- [Linux]确保你在
/etc/udev/rules.d/51-android.rules
(也是通用的解决scheme: https : //github.com/snowdream/51-android )中有适当的UDEV规则。 - [Linux]确保
~/.android
下的所有东西都归你所有,而不是root
(并且赞成这个答案 ) - 重启设备(是的,令人惊讶的是,这也是一个有效的措施)
- (显然)重新插入电缆,尝试不同的电缆,不同的端口,删除任何延长电缆
当设备尝试显示请求权限的屏幕时,我认为它有错误,所以它不会出现。
这适用于我(命令在adb shell
中给出):
-
rm /data/misc/adb/adb_keys
; - 我通过电子邮件从我的电脑发送公共密钥(〜/ .android /中的adbkey.pub)到我的设备;
- 调用
stop adbd
; -
cat adbkey.pub >> /data/misc/adb/adb_keys
(授权我自己); -
start adbd
(使用新密钥重新启动adb)。
确保启用USBdebugging后,请解锁手机并通过USB将其插入机器中。 然后您将被要求授权与您连接的计算机进行通信。 它还将显示计算机的RSA密钥指纹。
接受它,你很好去!
1.)在桌面机上删除〜/ .android / adbkey
2.)运行命令“adb kill-server”
3.)运行命令“adb start-server”
现在应该提示您接受debugging密钥。
四个简单的步骤
./adb kill-server
./adb start-server
重新插入设备,解锁并接受新密钥
类似于Flavio的回答( https://stackoverflow.com/a/18542792/1064996 ),这与~/.android
的文件(主机上,而不是电话上)有关。
我没有~/.android/adbkey
,但是我有~/.android/debug.keystore
,我的整个~/.android
目录由root拥有。 我删除了keystore文件,并将所有权更改为我( sudo chown -R $USER ~/.android
),杀死了adb服务器,并插入了我的手机,它工作。
这可能是所有权的事情。 确保你有~/.android
读/写权限
对于我的三星S3,我不得不在手机上进入开发者选项,取消“USBdebugging”checkbox,然后重新勾选它。
然后会出现对话框,询问您是否要允许USBdebugging。
一旦我这样做了,“ adb devices
”命令不再显示“ 未经授权 ”作为我的设备名称。
(几个月后..)
实际上,连接我的Galaxy Tab S设备也是如此,Android 4.4.2的菜单选项略有不同:
这是我的版本的步骤:
- 确保adb正在运行
- 在设备中,转到设置 – >开发人员选项 – >撤销USBdebugging权限
- 断开设备
- 在adb shell中input> adb kill-server
- 在adb shelltypes> adb start-server中
- 连接设备
如果adb shell显示空的主机名,重启设备
如果在Windows 8.1上在我的Nexus 5上获得授权令牌的问题相同。 我没有安装最新的adb驱动程序 – 这在设备pipe理器中是可见的。 从Google下载最新的ADB USB驱动程序: http : //developer.android.com/sdk/win-usb.html
更新设备pipe理器中的驱动程序,但启用/禁用USBdebugging和拔下/插入USB仍然不起作用。 最后,在其他答案中提到的“adb kill-server”和“adb start-server”在驱动程序更新之后做了这个诀窍。
- 确保adb是最新的
- 确保你使用的是谷歌的USB驱动程序: http : //developer.android.com/tools/extras/oem-usb.html
- 确保您的ANDROID_SDK_HOME环境variables设置为正确的path
有同样的问题。 不知道这些是否与Windows使用OS X设备相同,但您可以尝试:
- 将手机重新启动到恢复模式。
- 将其连接到您的计算机。
-
打开terminal并键入:
cd ~/.android adb push adbkey.pub /data/misc/adb/adb_keys
-
全做完了! 只需
adb shell reboot
,感受一下!
我重新安装了usb
驱动程序,并确保我没有使用USB 3.0
端口。
然后我closures了日食并杀死并重新启动了adb
。
立即提示电话允许电脑访问。 接受我重新启动eclipse后,现在我的Galaxy S3显示在设备设备pipe理器中。
对我来说,一旦我禁用MTP(在设置>存储>菜单> MTP),我终于得到了RSA提示
如果您在networking上使用adb,请尝试通过USB进行连接,反之亦然。 这为我做了诡计。 一旦接受它,一旦它总是在以后工作。
这种旧的职位,在大多数情况下,我认为最有利的答案将为人民服务。
在GPE HTC M8棒棒糖我仍然有问题。 下面的步骤为我工作。
- 前往设置
- 点击存储
- 点击右上angular的3个点
- 点击USB计算机连接
- UNCHECK MTP
- UNCHECK PTP
- 回到您的控制台,input
adb devices
现在,您应该在手机上获得RSApopup窗口。
我能够通过以下列出的步骤来解决这个问题: 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
我不得不重新安装我的adb驱动程序来解决这个问题。 我已经安装了“通用裸机”来恢复我的手机。 我卸载,并重新安装了驱动程序的Android SDK。
当我closures我的Comodo Antivirus时,一切都恢复正常。 这里提出的所有其他解决scheme都是徒劳的。 不知何故,我想出了一个解决scheme。
如果您正在使用Comodo Antivirus (版本6.3 /其他版本search类似的选项),下面的解决scheme将帮助你。
打开Comodo>任务>高级任务>打开高级设置>安全设置>防火墙>防火墙设置>高级: 过滤环回stream量(例如127.xxx,:: 1)
取消选中 “Filter loopback traffic”选项,防止adb正常工作。
使用不同的USB电缆。 一些电缆可能没有连接或不连接所有的引脚,并且当它们用于图像传输时,debugging/ adb不起作用。
底线:我不是你。 适用于我的手机的电缆(adb工作)不适用于我的平板电脑 – 手机始终处于离线或未经授权的状态,平板电脑不会popup对话框。 我尝试了多个重新启动,设置,我在这个过程中疯狂,并诅咒血腥的Android。 然后,我不小心插入了平板电脑随附的电缆,突然它工作。 我对Android的迷恋绝对没有了。 多么愚蠢的一件垃圾
我的备份软件改变了我的用户目录的权限后,发生了这种情况。 我在文件资源pipe理器中打开它,它促使我设置权限,并解决了问题。
仅供参考:Android在“\ User \ .android”下有一个特殊的目录如果你不能访问它,它不会提示你。
我的解决scheme是从命令提示符处运行adb devices
,然后转到adb应用程序。 例如C:\ Android \ platform-tools \ adb设备。 运行这个命令返回下面的* daemon not running. starting it now on port 5037 * *daemon started successfully *
* daemon not running. starting it now on port 5037 * *daemon started successfully *
然后,我看到设备被列为未经授权,拔掉了USB,重新插入,并提示inputRSA指纹。
我面临着同样的问题,我发现我使用的是一个简单的USB电缆,只是为了充电,而不是数据复制。 使用好的USB电缆解决了我的问题!
我没有拿到手机上popup的RSA指纹。
我不得不进入C:\ Users \ .android \ adbkey和adbkey.pub
文件,删除这些,然后杀死和重新启动adb服务器。 我不得不停止并重新启动debugging器,并以PTP模式连接为USB。
由于RSA授权密钥存储在此path中,因此查杀并重新启动adb服务器并没有帮助。
简单地重新插入对我来说是个窍门….第一次插入设备时,权限对话框并没有显示出来,第二次是这样,现在一切正常。