ADB Android设备未经授权

时间:2014-04-15 10:39:14

标签: android usb adb device unauthorized

由于我重新安装了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连接 Via USB

无线连接 Via Wi-fi

35 个答案:

答案 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目录的错误路径。

  1. set ANDROID_SDK_HOME "E:\adt-bundle-windows-x86_64-20140321\sdk"
  2. 拔出设备
  3. adb kill-server
  4. adb start-server
  5. 插头设备
  6. 完成这些步骤后,我能够在手机上看到带有RSA指纹的确认对话框:)

答案 2 :(得分:38)

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

以下工作是为了解决这个问题。

  1. 在设备的Developer菜单中打开Settings选项。

  2. Switch off屏幕右上角的按钮。

  3. Delete菜单列表中的所有debug permission

  4. Switch on屏幕右上角的按钮。

  5. 现在将您的设备重新连接到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

我会在以下每个部分之后执行此操作。

adb kill-server
adb usb

对开发人员选项

感到疯狂
  1. 关闭开发者选项并重新开启
  2. 关闭 USB调试并重新启用
  3. 撤销USB调试授权。在 USB调试打开时尝试此操作,如果可能,请在 USB调试关闭时尝试此操作。
  4. 重新插入设备

    1. 拔下USB电缆并将其重新插入手机。
    2. 将USB电缆连接的PC上的物理端口切换到
    3. 切换您用于连接设备的物理USB电缆
    4. 开始重启所有内容

      1. 重新启动所有设备并重新连接
      2. 重新启动电脑
      3. 打开和关闭WIFI
      4. 开始删除内容

        1. 注意删除~/.android文件夹。有时此文件夹可能具有错误的权限,这可能会导致问题。您可能希望先备份此文件夹。
        2. 从添加/删除程序中卸载所有制造商特定的驱动程序。我卸载了以下(名称不准确)
          • LG United USB Driver
          • HTC移动USB驱动程序
          • OnePlus USB驱动程序1.00
          • 三星USB驱动程序
        3. 我还卸载了所有模拟器及其各自的驱动程序(可选)
          • Nox&amp;相关司机
          • 蓝叠
          • Genymotion
        4. 删除所有与Android相关的环境变量。

          1. 如果已设置
          2. ,请删除%ANDROID_HOME%
          3. 如果已设置
          4. ,请删除%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设备重新启动为恢复
  • 下面粘贴代码
  • 重新启动Android设备,adb现在识别设备

将密钥从计算机推送到Android设备:

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

Solution came from here

答案 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)

这解决了我的问题!

  1. 运行你的android模拟器
  2. 转到设置并启用开发者模式
  3. 启用开发人员设置usb debugging
  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)发誓之后,这是我的发现,最终谁帮助我使该设备得到认可:

  • 在设备上:
    • 设置开发者模式
    • 允许USB调试
    • 默认USB配置>选择 USB绑定
    • 将设备连接到PC USB
  • 在PC上:
    • cmd / ps提示符升高(可能不是强制性的,但这是我的练习)
    • adb kill-server(以.\开头,以ps为单位)
    • adb start-server设备已连接时)>注意设备上的提示
  • 在设备上:
    • 始终允许从这台计算机进行连接>
  • 在PC上:
    • 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)

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

  1. 断开 USB 设备与笔记本电脑/计算机的连接
  2. 点击开发者选项中的“撤销 USB 调试授权”。
  3. 在顶部禁用开发者选项。
  4. 重新启用它。
  5. 在终端上运行命令“adb kill-server
  6. 在终端上运行命令“adb start-server
  7. 将您的移动设备连接到笔记本电脑/计算机
  8. 重新授权
  9. 点赞)

答案 19 :(得分:0)

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

  1. 在设备上启用开发人员模式和USB调试。

  2. 撤销USB调试授权

  3. 通过USB将手机插入计算机。

  4. 拖动通知面板,然后选择“软件安装”,如下图所示

    image

  5. 这将开始安装USB驱动程序,并显示USB调试授权的提示。

答案 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驱动程序。并继续使用很棒的代码!

i use this link to download driver

答案 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

希望它有所帮助。