ChatGPT解决这个技术问题 Extra ChatGPT

ADB Android 设备未经授权

由于我重新安装了 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.

有任何想法吗?是否可以在没有确认对话框的情况下手动生成密钥?

https://i.stack.imgur.com/ZWtny.jpg

https://i.stack.imgur.com/tnf0A.jpg

随机猜测,但是如果您删除手机设置中的所有调试授权怎么办。
我做到了,但没有任何反应...
重新安装了 USB 驱动程序 - 仍然没有。
第一次为我工作+1
1. 拔掉插头,2. 转到开发者菜单,3. 删除所有允许的设备,4. 将 USB 重新插入您的电脑,5. 在手机上的弹出窗口中选择记住,点击允许,完成! 6. ? 7.利润!

M
Michael G

无论出于何种原因,该设备都可能不再在 ADB 上获得授权。

1.检查是否授权:

<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        unauthorized

2.撤销手机USB调试

如果设备显示为未授权,进入手机的开发者选项,点击“撤销USB调试授权”(用JellyBean & Samsung GalaxyIII测试)。

3.重启亚行服务器:

然后重启 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

此处不需要第二步,但也找不到该菜单。
设备没有询问(或者我没有看到它询问)是否同意重新连接,但是按照上述步骤操作后,关闭并重新打开 USB 调试,它就起作用了。
不适合我; Android 6.0 Marshmallow 没有“撤销 USB 调试授权”选项。注意:杀死 ADB 后,我得到“此 adbd 的 $ADB_VENDOR_KEYS 未设置;如果这看起来不对,请尝试 'adb kill-server'”;以及“错误:设备未经授权”等。
我在 Android 4.4.4 上找不到“撤销 USB 调试授权”选项。它在哪里?
如果您的设备没有提示授权,可能是因为您运行 adb 的帐户没有处理密钥的权限。如果您遇到这种情况,请尝试提升权限(例如 sudo)。
c
cglacet

尝试强制 ADB 创建新密钥。

在 Linux/OSX 上: $ mv ~/.android/adbkey ~/.android/adbkey.old $ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old $ adb kill-server $ adb start-服务器

在 Windows 10 上(感谢 Pau Coma Ramirez、Naveen 和 d4c0d312!):转到 %HOMEPATH%\Android\.android\ 查找名为 adbkey 或 adbkey.pub 的文件。删除这些文件。或者,如果您想安全起见,请将它们移动到另一个目录。在 %USERPROFILE%\.android\ 中重复上述步骤再试一次

转到 %HOMEPATH%\Android\.android\

查找名为 adbkey 或 adbkey.pub 的文件。

删除这些文件。或者,如果您想安全起见,请将它们移动到另一个目录。

在 %USERPROFILE%\.android\ 中重复上述步骤

再试一次

在此之后,我什至不需要拔掉我的手机:授权提示已经存在。祝你好运!


其他答案都没有奏效,这个成功了!非常感谢! =)
对于 Windows,请检查 %HOMEPATH%\.android\ %USERPROFILE%\.android\ 中的键。谢谢,这个对我有用!
@Naveen 这可能是问题所在。删除 adbkey.pub 并再次尝试查看是否重新生成了两个密钥。
谢谢!在 Windows 10 上,这就是它为我工作的原因。
在 Windows 10 上,您需要同时删除 %HOMEPATH%\Android\.android\ 和 %USERPROFILE%\.android\
R
Reaz Murshed

哦,我终于想通了!删除 Eclipse 目录后,我将其安装到另一个目录中。

echo %ANDROID_SDK_HOME%

已显示 sdk 目录的错误路径。

设置 ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk" 拔出设备 adb kill-server adb start-server 插入设备

完成这些步骤后,我可以在手机上看到带有 RSA 指纹的确认对话框 :)


它没有显示调试启用对话框......这里有任何建议!
设置环境变量对我有用,但我必须重新启动才能使其生效。
在我的情况下,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 不起作用,但是当拔下设备并使用这些命令时,它起作用了,谢谢!
步骤 2-5 帮助了我。唯一奇怪的事情 - 没有 sudo,第 4 步不起作用。我的意思是,它确实启动了服务器,没有错误。但是手机上没有出现授权弹窗。 (在第 2 步之后,我已经清除了设备上所有存储的授权,不确定它是否重要)
H
Harpreet Singh

我遇到了与nexus7相同的问题。

以下为解决此问题而工作。

在设备的设置菜单中打开开发人员选项。关闭屏幕右上角的按钮。从菜单列表中删除所有调试权限。打开屏幕右上角的按钮。

现在将您的设备重新连接到您的 PC,一切都应该没问题。

对不起,我的英语很差,菜单(按钮)的某些名称在您的语言中可能不正确,因为我的是日语。


这对我有用。第 3 步似乎含糊不清,但为此我“撤销了 USB 调试授权”。当我连接设备备份(再次启用调试选项和 USB 调试后)它提示我保存计算机的 RSA 密钥。谢谢 :)
这在 Wiko Lenny 上对我有用。断开设备,关闭 Developer 模式,撤销调试权限,重新打开 Developer 选项,重新连接设备,重新启用 USB debugging
在尝试修复此问题一段时间后,Revoke USB Debugging Authorization 现在使我的模拟器硬重置。质量。
T
Tim Boland

我有同样的问题。通过将“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 上为我工作。
我将运行 Android 11 的三星 Galaxy S21 5G 连接到运行 macOS 11.6 的 Mac Mini (2018),但我的手机没有提示授权。我将“使用 USB 用于”从“传输文件/Android Auto”更改为“传输图像”并且有效
C
Community

我在这个愚蠢的问题上浪费了几个小时。上述解决方案都不适合我自己。

我正在运行 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 电缆

开始重新启动一切

重新启动所有设备并再次连接 重新启动您的 PC 打开和关闭 WIFI

开始删除东西

注意 删除您的 ~/.android 文件夹。有时,此文件夹可能具有错误的权限,这可能会导致问题。您可能需要先备份此文件夹。从添加/删除程序中卸载所有制造商特定的驱动程序。我卸载了以下(名称不准确) LG United USB 驱动程序 HTC 移动 USB 驱动程序 OnePlus USB 驱动程序 1.00 三星 USB 驱动程序 我还卸载了所有模拟器及其各自的驱动程序(可选) Nox 和相关驱动程序 Bluestacks Genymotion

擦除所有与 Android 相关的环境变量。

如果您设置了 %ANDROID_HOME% ,则删除 删除 %ANDROID_SDK_HOME% 如果您设置了它

此时我所有的设备都神奇地活了过来,并开始显示允许 USB 调试?通过亚行提示并正确连接。如果你已经做到了这一步,但还没有找到解决方案,我真的很抱歉你陷入了这种困境。确保在所有这些步骤结束时重新启动所有设备和开发机器,并使用新电缆连接到新的 USB 端口。

如果这仍然不起作用,请尝试有关该主题的其他一些 SO 帖子:

Android ADB 设备离线,无法发出命令

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

如何解决 Android ADB 主机设备中未经授权的 ADB 设备?


这里的其他建议都不起作用,但是这个让我走上了正确的轨道。 ~/.android 目录部分几乎是正确的。在最近针对 SDK adb 的 Android Studio 更新停止工作后,出现了这些症状。最后我发现 ~/.android/adbkey 和 ~/.android/adbkey.pub 都是 0 大小的文件,所以我删除了它们,重新启动了 adb 服务器,等等!立即得到我的身份验证提示。
也很高兴删除~/.android
谢谢。删除 ~/.android 在完成其他所有操作并在那里呆了很长时间后为我解决了这个问题!
@EvanCarroll 你只需要删除 ~/.android/adbkey
删除 adbkey 文件为我做了。在我重置设备、电脑等并删除它之后;
h
himi

作为参考,我刚刚在 Linux 上遇到了同样的问题,并且花了很长时间才弄清楚。我最终确定我有一个 root 拥有的 ~/.android 目录(感谢以 root 身份运行 adb,同时试图找出其他连接问题)。删除该根拥有的 ~/.android 目录解决了我下次重新连接设备时缺少的授权对话框。

简单地更改所有权也可能解决问题 - 我猜这是一个简单的无法访问存储在里面的 adb 密钥文件,这是问题的根源。不过,我没有验证这一点,而且我不会故意破坏我来之不易的连接,以便我可以检查;-)


对我来说,问题是 ~/.android 文件夹缺少 adbkey.pub 文件。
v
vovahost

对我有用的步骤: 1. 断开手机与 USB 电缆的连接 2. 撤销手机上的 USB 调试 3. 重新启动设备 4. 重新连接设备 最重要的部分是重新启动设备。没有它就不行。


根据我使用 AndroidTV 设备的经验,我记得它们的行为与普通手机相同,因此您应该尝试一下。
K
Khamidjon Khamidov

对我来说,我首先不小心授权了我的设备,后来我发现了。要将其恢复为重新授权:

断开 USB 设备与笔记本电脑/计算机的连接 单击开发人员选项中的“撤销 USB 调试授权”。禁用顶部的开发人员选项。重新启用它。在终端上启用 USB 调试运行命令'adb kill-server' 在终端上运行命令'adb start-server' 将您的移动设备连接到笔记本电脑/计算机重新授权按下)

注意:如果上述方法不起作用,请在重新连接之前尝试重新启动笔记本电脑


就我而言,这有效!
S
Shimmy Weitzhandler

在花了一个多小时在三星(主要是)、谷歌和谁不是的时候,这是我的发现,这最终帮助我得到了设备的认可:

在设备上:设置开发人员模式 允许 USB 调试 默认 USB 配置 > 选择 USB 网络共享 将设备连接到 PC USB 在 PC 上:提升 cmd/ps 提示符(可能不是强制性的,但这是我的练习) adb kill-server(在 .\ 之前ps)adb start-server(连接设备时)>在设备上观察提示在设备上:始终允许来自这台计算机的连接>是在PC上:adb设备获得以下输出:

List of devices attached
278c250cce217ece        device

C
Community

在 osx 和 Nexus 5 (A6.0.1) 上有类似的问题。尽管 Android Studio 或任何其他 IDE 都可以连接到设备,但我确实收到了授权弹出窗口并确认了它。

原来我的 Nexus (root) 缺少关键文件。

重新启动 Android 设备进入恢复状态

Ran代码粘贴在下面

重新启动 Android 设备,adb 现在可以识别设备

从电脑到安卓设备的按键:

 cd ~/.android && adb push adbkey.pub /data/misc/adb/adb_keys

Solution came from here


这是无法显示 ADB 授权对话框的设备的答案(例如安装自定义内核时)
G
GDefender

我的 Nexus 10 出现此错误。我尝试了所有能找到的答案,然后我意识到我使用的 USB 端口与平时不同。我切换到使用我通常使用的端口,它在我的笔记本电脑的另一侧,并且我的平板电脑上弹出了授权!


S
ShihabSoft

正如消息所述,您需要允许手机上的 adb 访问。

您需要先使用 USB 数据线将手机连接到您的 PC,然后屏幕上会弹出授权消息。勾选记住您的选择,然后允许它。

如果您的设备在连接到 PC 时没有显示任何消息,请执行此操作。

删除 /data/misc/adb/adb_key,重新启动手机并再次尝试连接。该消息应该出现。


仍然没有消息。我现在不知道该怎么做:(我不想在模拟器上调试......
拔下并重新插入工作!首次启用 USB 调试时会出现这种情况。
M
Marc.2377

解决方案是将您的文件 ~/.android/adbkey.pub(在 GNU/Linux 上,或在 Windows 上的 %USERPROFILE%\.android\adbkey.pub)复制到 Android,并将其放置为 /data/misc/adb/adb_keys。你需要root权限才能做到这一点。

您可以以任何您喜欢(或能够)的方式传输文件,无论是 USB、电子邮件还是临时文件上传服务。就我而言,由于它是在虚拟机中安装的新 Android-x86,没有可用的 Web 浏览器,并且网络/TCP adb 无法正常工作,因此我必须实际输入 715 个字符。

至少它奏效了。


S
Samson Maosa

如果您在 ubuntu 上,请尝试以 root 身份运行服务器:

sudo adb kill-server

sudo adb start-server


这个在 Ubuntu 19.10 和 Amazon Fire 7 上帮助了我,谢谢!
我不知道为什么,但是使用 sudo 运行可以。 Ubuntu 20.04.1
S
Sakkeer Hussain

我对此感到厌烦,我通过关闭手机的 wi-fi 获得了该权限对话框。


i
isXander

断开您的设备与计算机的连接。

进入开发者设置。

关闭开发者设置。

打开开发者设置。

启用 USB 调试(以及您事先启用的任何其他设置)

将您的设备重新连接到计算机。

再试一次。

为我工作,所以希望它对你有用!


立即为我工作。 Mush 比大多数其他方法更容易。谢谢!
g
gaus

只需关闭设备上的开发人员选项,然后再次打开,将 USB 与设备和工作系统连接,然后打开 USB 调试。


这已经在其他答案中提到过。在回答已有答案的旧问题时,请确保您提供新颖的解决方案或比现有答案更好的解释。
就我而言,这对我有用。
l
lakme.1989

我没有在手机上弹出 RSA 指纹。

我不得不进入

  C:\Users\<userName>\.android\adbkey and adbkey.pub 

文件,删除这些文件,然后杀死并重新启动 adb 服务器。我不得不停止并重新启动调试器并在 PTP 模式下连接为 USB。

因为 RSA 授权密钥存储在此路径中,所以终止并重新启动 adb 服务器没有帮助。


O
Ofir Attal

这解决了我的问题!

运行你的android模拟器去设置并启用开发者模式从开发者设置中启用USB调试

此时,您将在模拟器上获得弹出式按摩以授权设备,您可以开始了 :)


J
Jared Forth

您应该删除文件:c:\users\_user_name_\.android\adbkey


这有助于我遵循@Martin 的 5 步流程。这可以在第 2 步和第 3 步之间进行。
A
Alexmelyon

重新检查开发人员选项中的“USB 调试”选项对我有帮助


n
not2qubit

在某些三星设备上,可以通过拨打 *#0808# 设置的模式更改不会在不直接重新启动的情况下保持不变。重新启动后,拨打相同的字符串并确保您已选择 adb + mdp 并将 USB 设置为 AP。在此之后确保重新连接手机并重新启动 ADB 服务器。还要尽量避免使用 USB 集线器和虚拟机,这肯定会使事情进一步复杂化。按照前面提到的清除授权设备等的说明进行操作。


伟大的!适用于三星 Galaxy S5 Android 5.0(从 KitKat 更新的 OTA)。我还应该提到该问题仅出现在 Windows 7 桌面上。在 Windows 7 笔记本电脑和 mini-mac 上,它从不要求授权!
R
Reaz Murshed

我有一个类似的问题。但是,它是使用不同的解决方案解决的。我想我也可以在这里分享这个。让我先描述一下我的问题。

我的 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 设置为环境变量路径。


H
Hasan A Yousef

一旦我更改了我的开发设备,同样的问题开始出现,它被解决为:

$ mv ~/.android/adbkey ~/.android/adbkey.old
$ mv ~/.android/adbkey.pub ~/.android/adbkey.pub.old
$ adb kill-server
$ adb start-server

v
voghDev

我在两部手机中收到了相同的消息:

- 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)
P
Pazel1374

它可能不适用于所有情况,但因为我使用了长电缆,我的设备无法正确连接并且不会弹出消息,更换电缆可能会解决问题


L
Languoguang

我只是尝试 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

d
double-beep

这是我所做的,它带来了授权提示并让我的设备出现。我用的是三星 Galaxy s7 edge。

在您的设备上启用开发者模式和 USB 调试。撤销 USB 调试授权 将手机通过 USB 连接到计算机。如下图拖动通知面板,选择“软件安装”,此时开始安装USB驱动,并提示USB调试授权。


C
Cristian Ciupitu

检查您是否安装了 Samsung Kies。这是一种可能的解决方案


是的,在我的情况下,我没有使用现成的 Android 设备,所以我不得不删除任何以前的 adbkey 文件,并要求设备制造商发送给我: adbkey 和 adbkey.pub ....但对于普通设备, “撤销手机上的 USB 调试”似乎可以解决问题