由于我重新安装了Eclipse(只是删除并再次下载),我无法在Samsung Galaxy i9001(使用CyanogenMod - Android 4.4.2)上调试我的应用程序。它在重新安装之前工作正常。
拔下插头,取消选中/检查"启用调试",adb kill-server / adb start-server,重启手机/电脑对我不起作用。在设备授权对话框上永远不会出现(但我记得在重新安装之前出现了对话框)。我不知道如何强制显示此授权对话框。 .android目录中没有abd_key.pub文件。 当我尝试读取cpu信息时DDMS说:
[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.
有什么想法吗?是否可以手动生成密钥而无需确认对话框?
USB连接
无线连接
答案 0 :(得分:856)
由于某种原因,该设备可能不再在ADB授权。
<强> 1。检查是否授权:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d unauthorized
<强> 2。撤消手机上的USB调试
如果设备显示为未经授权,请转到手机上的开发人员选项,然后点击“撤消USB调试授权”(使用JellyBean&amp; 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
答案 1 :(得分:83)
哦,我终于明白了! 删除Eclipse目录后,我将其安装到另一个目录中。
echo %ANDROID_SDK_HOME%
显示了sdk目录的错误路径。
set ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
adb kill-server
adb start-server
完成这些步骤后,我能够在手机上看到带有RSA指纹的确认对话框:)
答案 2 :(得分:38)
我遇到了与nexus7相同的问题。
以下工作是为了解决这个问题。
在设备的Developer
菜单中打开Settings
选项。
Switch off
屏幕右上角的按钮。
Delete
菜单列表中的所有debug permission
。
Switch on
屏幕右上角的按钮。
现在将您的设备重新连接到PC,一切都应该没问题。
很抱歉我的英语不好,而且你的语言中的某些菜单(按钮)名称可能不正确,因为我的是日语。
答案 3 :(得分:26)
我遇到了同样的问题。通过设置&#34; USB计算机连接&#34;解决了这个问题。到#34;相机(PTP)&#34;而不是&#34;媒体设备(MTP)
答案 4 :(得分:19)
我在这个愚蠢的问题上浪费了几个小时。上述解决方案都不能单独为我工作。
我正在运行Windows 10.我手动安装了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
~/.android
文件夹。有时此文件夹可能具有错误的权限,这可能会导致问题。您可能希望先备份此文件夹。%ANDROID_HOME%
%ANDROID_SDK_HOME%
醇>
此时我的所有设备都神奇地变为现实并开始显示允许USB调试?提示并通过ADB正确连接。如果你已经做到这一点并且没有找到解决方案,我真的很抱歉你处于这种困境中。确保在所有这些步骤结束时重新启动所有设备和开发机器,并使用新电缆连接到新的USB端口。
如果仍然无法解决问题,请尝试以下其他SO帖子:
答案 5 :(得分:13)
作为参考,我刚刚在Linux上遇到了同样的问题,并且花了很多时间搞清楚它。我最终确定我有一个root权限的〜/ .android目录(感谢以root身份运行adb,同时试图弄清楚其他连接问题)。删除该根拥有的〜/ .android目录会在下次重新连接设备时解决丢失的授权对话框。
简单地改变所有权可能也解决了问题 - 我猜测这是一个简单的缺乏对存储在内部的adb密钥文件的访问权限,这是问题的根源。但是,我没有验证这一点,而且我不打算故意破坏我来之不易的连接,所以我可以检查一下; - )
答案 6 :(得分:12)
对我有用的步骤:
的 1。断开手机与USB电缆
2.撤消手机上的USB调试
3.重启设备
4.重新连接设备
最重要的部分是重启设备。没有它,没有工作。
答案 7 :(得分:8)
我的Nexus 10出现了这个错误。我尝试了所有可以找到的答案,然后我意识到我使用的是比平时更多的USB端口。我转而使用我经常使用的端口,这是我笔记本电脑的另一端,并且我的平板电脑上出现了授权!
答案 8 :(得分:8)
正如消息所述,您需要允许手机上的adb访问。
您需要先使用USB线将手机连接到PC,然后屏幕上会弹出授权信息。勾选记住你的选择,然后允许它。
如果您的设备在连接到PC时没有显示任何消息,请执行此操作。
删除/ data / misc / adb / adb_key,重新启动手机并尝试连接 再次。该消息应该出现。
答案 9 :(得分:5)
我对此进行了分层,我通过关闭手机的Wi-Fi获得了该权限对话框。
答案 10 :(得分:4)
在osx和Nexus 5(A6.0.1)上有类似的问题。 我确实获得了授权弹出并确认了它,尽管Android Studio或任何其他IDE都可以连接到设备。
原来我的Nexus( rooted )缺少关键文件。
将密钥从计算机推送到Android设备:
cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys
答案 11 :(得分:4)
Try forcing ADB to create new keys:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
After this I didn't even need to unplug my phone: the authorization prompt was already there. Good luck!
答案 12 :(得分:4)
这解决了我的问题!
此时您将在模拟器上获得弹出式按摩以授权该设备并且您很高兴:)
答案 13 :(得分:4)
我的手机上没有弹出RSA指纹。
我必须进入
<div class="container">
文件,删除那些,然后杀死并重新启动adb服务器。 我必须停止并重新启动调试器并在PTP模式下作为USB连接。
由于RSA授权密钥已存储在此路径中,因此终止和重新启动adb服务器并没有帮助。
答案 14 :(得分:3)
解决方案是将您的文件~/.android/adbkey.pub
(在GNU / Linux上,或Windows上的%USERPROFILE%\.android\adbkey.pub
)复制到Android,并将其作为/data/misc/adb/adb_keys
。您需要root权限才能执行此操作。
您可以以任何方式(或能够)传输文件,无论是USB,电子邮件还是临时文件上传服务。在我的情况下,因为它是在虚拟机中安装的新的Android-x86,没有可用的Web浏览器,并且网络/ TCP adb无法正常工作,所以我必须实际输入715个字符。
至少它有效。
答案 15 :(得分:2)
花了一个多小时的时间(主要是在三星和Google)发誓之后,这是我的发现,最终谁帮助我使该设备得到认可:
adb kill-server
(以.\
开头,以ps为单位)adb start-server
(设备已连接时)>注意设备上的提示adb devices
得到以下输出:List of devices attached
278c250cce217ece device
答案 16 :(得分:2)
在某些三星设备上,通过拨打*#0808#
可以设置的模式更改不会在没有直接重启的情况下发生。重新启动后,请拨打相同的字符串,并确保已选择adb + mdp
并将USB设置为AP
。在此之后,请确保重新连接手机并重新启动ADB服务器。同时尽量避免使用USB集线器和虚拟机,这无疑会使问题进一步复杂化。按照前面提到的清除授权设备等的说明进行操作。
答案 17 :(得分:0)
如果您使用的是ubuntu,请尝试以root用户身份运行服务器:
sudo adb kill-server
sudo adb start-server
答案 18 :(得分:0)
对我来说,我首先不小心对我的设备进行了授权,后来我发现了这一点。将其恢复为重新授权:
adb kill-server
”adb start-server
”答案 19 :(得分:0)
这就是我所做的,它带来了授权提示并使我的设备出现。我使用了三星Galaxy s7 edge。
答案 20 :(得分:0)
您应该删除文件:c:\users\_user_name_\.android\adbkey
答案 21 :(得分:0)
更改我的开发设备后,同样的问题开始出现,并解决了以下问题:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
答案 22 :(得分:0)
我正在使用旧的华为手机。当我插入Debian Stretch实例时,弹出USB计算机连接。如果将其设置为MTP,PTP或“连接到PC软件”,我发现“ adb设备”将失败。但是,如果我将连接选项设置为:
安装SD卡
然后我可以运行“ adb设备”,并且状态从未经授权更改为设备。
我也打开了:
USB调试
答案 23 :(得分:0)
断开设备与计算机的连接。
进入开发人员设置。
关闭开发人员设置。
打开开发人员设置。
启用USB调试(以及您之前启用的其他任何设置)
将设备重新连接到计算机。
再试一次。
为我工作,所以希望对你有用!
答案 24 :(得分:0)
我有类似的问题。但是,使用其他解决方案解决了该问题。我想我也可以在这里分享。让我先描述我的问题。
我在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设置为环境变量路径。
答案 25 :(得分:0)
我在这个问题上停留了很长时间,并且能够通过从我的手机所连接的计算机复制adbkey来完全避免该问题。
答案 26 :(得分: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调试模式后,会出现一条消息,要求您授权此计算机进行调试。您必须标记&#34;始终允许此计算机&#34; ,然后点击允许。
希望它有所帮助。
答案 27 :(得分:0)
我只是尝试 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
答案 28 :(得分:0)
这是错误的,因为您的窗口版本无法通过USB接收器验证来自手机的许可。我花了5天时间来处理这个bug。 现在,安装58964_Intel(R)_USB_3.0驱动程序。并继续使用很棒的代码!
答案 29 :(得分:0)
我为解决此问题所做的工作是再次断开usb线并重新连接到USB端口(使用我机器上的其他端口完成)。
然后我选择了充电,那就是它。移动设备要求我授予机器访问权限,我同意并且已经解决了这个问题。
运行adb设备时,我在列表中看到了该设备。
(在Windows 10家中完成)。
答案 30 :(得分:0)
安装Android Studio后,我对文件夹&#34;〜/ .android&#34;(仅对root用户进行读写访问)的权限不正确。所以我改变它并从Android工作室运行项目(设备仍标记为&#34;未授权&#34;)。
Android工作室显示错误&#34;安装apk&#34;时出错,但在文件夹&#34;〜/ .android&#34;创建文件&#34; adbkey&#34;,&#34; adbkey.pub&#34;,&#34; debug.keystore&#34;。
之后,我重新启动了adb(运行命令 adb kill-server 和 adb start-server ),并且我的设备上出现了授权对话框。
希望有人会接近这个解决方案。
答案 31 :(得分:0)
它可能不适用于所有情况,但因为我使用了长电缆,我的设备没有正确连接,消息不会弹出 更换电缆可以解决问题
答案 32 :(得分:0)
adb usb
为我工作
这会重新启动侦听USB端口的adb守护程序
命令返回:
错误:设备未经授权。请检查确认对话框 你的设备
。 但RSA密钥的提示立即出现在手机上。一旦我批准,一切都按预期开始工作
答案 33 :(得分:-1)
<强> Linux的Ubuntu的14.04 强>
我读了这篇文章的所有答案,对我没什么用处:(
这可能是因为我没有使用普通的最终用户设备,在企业设备上工作!
为我工作的是:
从lsusb获取设备的VID,PID并更新51-android.rules(https://source.android.com/source/initializing.html#configuring-usb-access)
确保adb_usb.ini也使用相同的VID PID
答案 34 :(得分:-3)
我尝试了很多方法来解决这个问题,这个问题适合我。
在您的PC上安装SnapPea。 SnapPea
将手机插入USB调试模式并打开SnapPea,手机上会显示授权对话框。 The Dialog shows on the phone
希望它有所帮助。