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\ 查找名为 adbkeyadbkey.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:未经授权的设备。

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

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

授权弹出飞利浦 Android 电视不显示

Android Studio Emulator(设备未经授权)

在 Android 设备上保存解析安装记录时未经授权