ADB Android 设备未经授权
Posted
技术标签:
【中文标题】ADB Android 设备未经授权【英文标题】:ADB Android Device Unauthorized 【发布时间】:2014-05-29 15:54:09 【问题描述】:自从我重新安装了 Eclipse(只是删除并再次下载)后,我无法在三星 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 连接
无线连接
【问题讨论】:
随机猜测,但是如果你在手机设置中删除所有调试授权呢。 我做到了,但没有任何反应...... 重新安装 USB 驱动程序 - 仍然没有。 第一次为我工作 +1 1.拔掉插头,2. 转到开发者菜单,3. 删除所有允许的设备,4. 将 USB 重新插入您的电脑,5. 在手机上的弹出窗口中选择记住,点击允许,完成! 6. ? 7. 利润! 【参考方案1】:无论出于何种原因,该设备都可能不再在 ADB 上获得授权。
1.检查是否授权:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d unauthorized
2。撤销手机上的 USB 调试
如果设备显示为未授权,进入手机的开发者选项,点击“撤销USB调试授权”(已通过JellyBean & Samsung GalaxyIII测试)。
3.重启亚行服务器:
然后重启 adb server
adb kill-server
adb start-server
4.重新连接设备
设备会询问您是否同意连接计算机 ID。 你需要确认一下。
5.现在检查设备
现已授权!
adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d device
【讨论】:
这里不需要第二步,但也找不到那个菜单。 设备没有询问(或者我没有看到它询问)是否同意重新连接,但是按照上述步骤,然后关闭并重新打开usb-debugging,它工作. 对我不起作用; Android 6.0 Marshmallow 没有“撤销 USB 调试授权”选项。注意:杀死 ADB 后,我得到“此 adbd 的 $ADB_VENDOR_KEYS 未设置;如果这看起来不对,请尝试 'adb kill-server'”;以及“错误:设备未授权”等。 我在 Android 4.4.4 上找不到“撤销 USB 调试授权”选项。它在哪里? 如果您的设备没有提示授权,可能是因为您运行adb
的帐户没有处理密钥的权限。如果您遇到这种情况,请尝试提升权限(例如sudo
)。【参考方案2】:
尝试强制 ADB 创建新密钥。
在 Linux/OSX 上:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
在 Windows 10 上(谢谢Pau Coma Ramirez、Naveen 和 d4c0d312!):
转到%HOMEPATH%\Android\.android\
查找名为 adbkey
或 adbkey.pub
的文件。
删除这些文件。或者,如果您想安全起见,请将它们移至另一个目录。
在%USERPROFILE%\.android\
中重复上述步骤
再试一次
在此之后,我什至不需要拔掉我的手机:授权提示已经存在。祝你好运!
【讨论】:
其他答案都不起作用,这个成功了!非常感谢! =) 对于 Windows,请检查%HOMEPATH%\.android\
或 %USERPROFILE%\.android\
中的密钥。谢谢,这个对我有用!
@Naveen 这可能是问题所在。删除 adbkey.pub 并再次尝试查看是否重新生成了两个密钥。
@e18r,谢谢。试了你说的就成功了。非常感谢。
谢谢!在 Windows 10 上,这就是它为我工作的原因。【参考方案3】:
哦,我终于想通了! 删除 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 指纹的确认对话框 :)
【讨论】:
它没有显示调试启用对话框...这里有任何建议! 设置环境变量对我有用,但我必须重新启动它才能生效。 我将unplug device
作为运行命令...注意自己,这意味着physicallly (un)plug
在我的情况下,ANDROID_HOME_SDK 的环境变量指向错误的“E:\android-sdk\SDK Manager.exe”。所以,在我更改为 'E:\android-sdk' 后,我尝试像他说的那样回声,但环境似乎没有更新。所以,我重新启动电脑 -> 拔下 usb -> adb kill-server -> adb start-server -> 插入 usb -> 工作!
我使用 adb kill-server 和 adb start-server 不起作用,但是当拔下设备并使用这些命令时它起作用了,谢谢!【参考方案4】:
我在使用 nexus7 时遇到了同样的问题。
以下解决了这个问题。
在您设备上的Settings
菜单中打开Developer
选项。
Switch off
屏幕右上角的按钮。
Delete
all debug permission
来自菜单列表。
Switch on
屏幕右上角的按钮。
现在将您的设备重新连接到您的 PC,一切都会好起来的。
对不起,我的英语不好,菜单(按钮)的某些名称在您的语言中可能不正确,因为我的是日语。
【讨论】:
这对我有用。第 3 步似乎含糊不清,但为此我“撤销了 USB 调试授权”。当我连接设备备份(再次启用调试选项和 USB 调试后)它提示我保存计算机的 RSA 密钥。谢谢:) 这在 Wiko Lenny 上对我有用。断开设备,关闭Developer
模式,撤销调试权限,重新打开Developer
选项,重新连接设备,重新启用USB debugging
。
在尝试修复此问题一段时间后,Revoke USB Debugging Authorization
现在让我的模拟器硬重置。质量。【参考方案5】:
我遇到了同样的问题。通过将“USB 计算机连接”设置为“相机 (PTP)”而不是“媒体设备 (MTP)”解决了这个问题
【讨论】:
唯一的方法是为我的ID 1004:631d LG Electronics, Inc. Optimus Android Phone (Camera/PTP Mode)
工作,谢谢!
这对我也有用.. 在 redmi note 3 NitrogeOS 7.1.2 上
在 OnePlus One Lineage 14.1 上为我做的。
在三星 Galaxy S4 Active 上为我工作。
尝试了一切,只有这个解决方案有效(设置不同的 USB 模式 - 传输图像 - 在“默认 USB 配置”中)。这台机器有一个相当旧的主板(带有旧芯片组)和一个 AMD CPU,所以这似乎是一个与驱动程序相关的问题。【参考方案6】:
我在这个愚蠢的问题上浪费了几个小时。上述解决方案都不适合我自己。
我运行的是 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
开发者选项让你疯狂
-
关闭开发者选项然后再打开
关闭 USB 调试 然后再打开
撤销 USB 调试授权。请在 USB 调试 开启时尝试此操作,如果可能,请在 USB 调试 关闭时尝试。
重新插入设备
-
拔下 USB 数据线再重新插入手机。
在您的 USB 电缆连接到的 PC 上切换物理端口
切换用于连接设备的物理 USB 电缆
开始重启一切
-
重启所有设备并重新连接
重启你的电脑
打开和关闭 WIFI
开始删除东西
-
注意 删除您的
~/.android
文件夹。有时,此文件夹可能具有错误的权限,这可能会导致问题。您可能需要先备份此文件夹。
从添加/删除程序中卸载所有制造商特定的驱动程序。我卸载了以下(名称不准确)
LG United USB 驱动程序
HTC 移动 USB 驱动程序
一加 USB 驱动程序 1.00
三星 USB 驱动程序
我还卸载了所有模拟器及其各自的驱动程序(可选)
Nox 及相关驱动因素
蓝叠
Genymotion
清除所有与 Android 相关的环境变量。
-
如果您设置了
%ANDROID_HOME%
,请删除它
删除%ANDROID_SDK_HOME%
,如果你设置了它
此时我所有的设备都神奇地活了过来,并开始显示允许 USB 调试? 提示并通过 ADB 正确连接。如果你已经做到了这一步,但还没有找到解决方案,我真的很抱歉你陷入了这种困境。确保在所有这些步骤结束时重新启动所有设备和开发机器,并使用新电缆连接到新的 USB 端口。
如果这仍然不起作用,请尝试有关该主题的其他一些 SO 帖子:
Android ADB device offline, can't issue commands Can't connect Nexus 4 to adb: unauthorized How to solve ADB device unauthorized in Android ADB host device?【讨论】:
这里的其他建议都不起作用,但这个让我走上了正确的轨道。 ~/.android 目录部分几乎是正确的。在最近针对 SDK adb 的 Android Studio 更新停止工作后,出现了这些症状。最后我发现 ~/.android/adbkey 和 ~/.android/adbkey.pub 都是 0 大小的文件,所以我删除了它们,重新启动了 adb 服务器,等等!立即得到我的身份验证提示。 也很高兴删除~/.android
谢谢。删除 ~/.android 在完成其他所有操作并在那里停留很长时间后为我解决了这个问题!
@EvanCarroll 你只需要删除~/.android/adbkey
删除 adbkey 文件对我有用。在我重置设备、电脑等并删除它之后;【参考方案7】:
作为参考,我刚刚在 Linux 上遇到了几乎相同的问题,并且花了很长时间才弄清楚。我最终确定我有一个 root 拥有的 ~/.android 目录(感谢以 root 身份运行 adb,同时试图找出其他连接问题)。删除该根拥有的 ~/.android 目录解决了我下次重新连接设备时缺少的授权对话框。
有可能简单地更改所有权也可以解决问题 - 我猜这是一个简单的无法访问存储在里面的 adb 密钥文件,这是问题的根源。不过,我没有验证这一点,而且我不会故意破坏我来之不易的连接,以便我可以检查;-)
【讨论】:
对我来说,问题是~/.android
文件夹缺少adbkey.pub
文件。【参考方案8】:
对我有用的步骤: 1。断开手机与 USB 数据线的连接 2.撤销手机USB调试 3.重启设备 4. 重新连接设备 最重要的部分是重新启动设备。没有它就无法工作。
【讨论】:
根据我使用 AndroidTV 设备的经验,我记得它们的行为与普通手机相同,因此您应该尝试一下。【参考方案9】:在花了一个多小时在三星(主要是)、谷歌和谁不是的时候,这是我的发现,这最终帮助我让设备得到认可:
-
在设备上:
设置开发者模式
允许 USB 调试
默认 USB 配置 > 选择 USB 网络共享
将设备连接到 PC USB
在电脑上:
提升的 cmd/ps 提示符(可能不是强制性的,但这是我的练习)
adb kill-server
(在 ps 中以 .\
开头)
adb start-server
(设备连接时)> 观察设备上的提示
在设备上:
始终允许来自这台计算机的连接 > 是
在电脑上:
adb devices
得到以下输出:
List of devices attached
278c250cce217ece device
【讨论】:
【参考方案10】:我的 Nexus 10 出现此错误。我尝试了所有能找到的答案,然后我意识到我使用的 USB 端口与平时不同。我改用我平时使用的端口,在我笔记本的另一边,然后我的平板上弹出了授权!
【讨论】:
【参考方案11】:在 osx 和 Nexus 5 (A6.0.1) 上有类似的问题。 尽管 Android Studio 或任何其他 IDE 都可以连接到设备,但我确实收到了授权弹出窗口并确认了它。
原来我的 Nexus (rooted) 缺少关键文件。
重新启动的 Android 设备进入恢复状态 运行代码粘贴在下面 重新启动的 Android 设备,adb 现在可以识别设备从电脑到安卓设备的按键:
cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys
Solution came from here
【讨论】:
这是无法显示 ADB 授权对话框的设备的答案(例如安装自定义内核时)【参考方案12】:正如消息所述,您需要在手机上允许 adb 访问。
您需要先用 USB 数据线将手机连接到您的 PC,然后屏幕上会弹出授权信息。勾选记住您的选择,然后允许它。
如果您的设备在连接到 PC 时没有显示任何消息。请执行此操作。
删除 /data/misc/adb/adb_key,重启手机并尝试连接 再次。消息应该会出现。
【讨论】:
仍然没有消息。我现在不知道该怎么办:(我不想在模拟器上调试... 拔下并重新插入工作!首次启用 USB 调试时会出现这种情况。【参考方案13】:如果您使用的是 ubuntu,请尝试以 root 身份运行服务器:
sudo adb kill-server
sudo adb start-server
【讨论】:
这个在 Ubuntu 19.10 和 Amazon Fire 7 上帮助了我,谢谢! 我不知道为什么,但是使用 sudo 运行可以。 Ubuntu 20.04.1【参考方案14】:我对此感到厌烦,我通过关闭手机的 Wi-Fi 获得了该权限对话框。
【讨论】:
【参考方案15】:解决方案是将您的文件 ~/.android/adbkey.pub
(在 GNU/Linux 上,或在 Windows 上为 %USERPROFILE%\.android\adbkey.pub
)复制到 Android,并将其放置为 /data/misc/adb/adb_keys
。您需要 root 权限才能执行此操作。
您可以以任何您喜欢(或能够)的方式传输文件,无论是 USB、电子邮件还是临时文件上传服务。就我而言,由于它是在虚拟机中安装的新 Android-x86,没有可用的 Web 浏览器,并且网络/TCP adb 无法正常工作,因此我必须实际输入 715 个字符。
至少它起作用了。
【讨论】:
【参考方案16】:我的手机上没有弹出 RSA 指纹。
我不得不进入
C:\Users\<userName>\.android\adbkey and adbkey.pub
文件,删除这些文件,然后杀死并重新启动 adb 服务器。 我不得不停止并重新启动调试器并在 PTP 模式下连接为 USB。
由于 RSA 授权密钥存储在此路径中,因此终止并重新启动 adb 服务器没有帮助。
【讨论】:
【参考方案17】:这解决了我的问题!
-
运行你的安卓模拟器
进入设置并启用开发者模式
从开发者设置中启用usb调试
此时,您将在模拟器上获得弹出式按摩以授权设备,您可以开始了 :)
【讨论】:
【参考方案18】:断开您的设备与计算机的连接。
进入开发者设置。
关闭开发者设置。
开启开发者设置。
启用 USB 调试(以及您事先启用的任何其他设置)
将您的设备重新连接到计算机。
再试一次。
为我工作所以希望它对你有用!
【讨论】:
立即为我工作。 Mush 比大多数其他方法更容易。谢谢!【参考方案19】:您应该删除文件:c:\users\_user_name_\.android\adbkey
【讨论】:
这有助于我遵循@Martin 的 5 步流程。这可以在第 2 步和第 3 步之间进行。【参考方案20】:对我来说,我首先不小心授权了我的设备,后来我发现了。要将其恢复为重新授权:
-
从笔记本电脑/计算机上断开 USB 设备
点击开发者选项中的“撤销 USB 调试授权”。
禁用顶部的开发者选项。
重新启用它。
在终端上运行命令“
adb kill-server
”
在终端上运行命令“adb start-server
”
将您的移动设备连接到笔记本电脑/计算机
重新授权
按赞)
【讨论】:
【参考方案21】:在某些三星设备上,可以通过拨打*#0808#
设置的模式更改不会在不直接重启的情况下保持不变。重新启动后,拨打相同的字符串并确保您已选择 adb + mdp
并将 USB 设置为 AP
。在此之后确保重新连接手机并重新启动 ADB 服务器。还要尽量避免使用 USB 集线器和虚拟机,这肯定会使事情进一步复杂化。按照前面提到的清除授权设备等说明进行操作。
【讨论】:
太棒了!适用于三星 Galaxy S5 Android 5.0(从 KitKat 更新的 OTA)。我还应该提到该问题仅出现在 Windows 7 桌面上。在 Windows 7 笔记本电脑和 mini-mac 上,它从不要求授权!【参考方案22】:我遇到了类似的问题。但是,它是使用不同的解决方案解决的。我想我也可以在这里分享这个。让我先描述一下我的问题。
我的 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 设置为环境变量路径。
【讨论】:
【参考方案23】:更换开发设备后,同样的问题开始出现,解决方法如下:
$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server
【讨论】:
【参考方案24】:我在两部手机中收到了相同的信息:
- 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 调试模式后,会出现一条消息,要求您授权此计算机进行调试。您必须标记“始终允许此计算机”,然后点击允许。
希望对你有帮助。
【讨论】:
我更新了 android sdk 平台工具,它的工作认为 (y)【参考方案25】:我只是尝试 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
【讨论】:
【参考方案26】:这是我所做的,它带来了授权提示并让我的设备出现。我用的是三星 Galaxy s7 edge。
在您的设备上启用开发者模式和 USB 调试。
撤销USB调试授权
通过 USB 将手机连接到计算机。
如下图拖动通知面板,选择“软件安装”
这将开始安装 USB 驱动程序并显示 USB 调试授权提示。
【讨论】:
【参考方案27】:检查您是否安装了Samsung Kies。这是一种可能的解决方案
【讨论】:
是的,在我的情况下,我没有使用现成的 Android 设备,所以我不得不删除任何以前的 adbkey 文件,并要求设备制造商向我发送:adbkey 和 adbkey.pub。 ...但对于普通设备,“撤销手机上的 USB 调试”似乎可以解决问题【参考方案28】:这是错误的,因为您的 windows 版本没有 USB 3.0 驱动程序来接收来自手机的身份验证权限。我在这个错误上花了 5 天时间。 现在,安装 58964_Intel(R)_USB_3.0 驱动程序。并继续使用很棒的代码!
i use this link to download driver
【讨论】:
【参考方案29】:它可能不适用于所有情况,但因为我使用了一根长电缆,我的设备无法正确连接并且不会弹出消息 换线可能会解决问题
【讨论】:
【参考方案30】:adb usb
为我工作
这将重新启动监听 USB 端口的 adb 守护进程
返回的命令:
错误:设备未经授权。请检查确认对话框 你的设备
。 但是 RSA 密钥的提示立即出现在电话上。一旦我批准,一切都开始按预期工作
【讨论】:
这只是给我“错误:找不到设备/模拟器”。以上是关于ADB Android 设备未经授权的主要内容,如果未能解决你的问题,请参考以下文章
com.android.ddmlib.adbcommandrejectedexception:未经授权的设备。