118

配置:

  • 视窗 8.1
  • 亚行版本:1.0.32
  • 智能手机:一加一

问题

我按照据说安装了三星驱动程序。当我运行 ADB devices 命令时,它显示未授权

已经尝试过:

  1. 我已经完成了这篇文章中所说的一切:https ://stackoverflow.com/a/25546300/1848376

    但问题是我没有在电话上收到提示告诉我必须接受连接。

  2. 当我运行命令adb shell时,答案如下:

    error: device unauthorized.
    This adbd'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 kill-server”,但它没有改变任何东西。为什么?

4

24 回答 24

253
  1. 尝试撤销 USB 调试授权。
  2. 再次启用 USB 调试。

有效。

于 2016-02-26T03:37:18.427 回答
55

感谢xda开发人员存在:http: //forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

只需要删除 C:Users/$Name/.android adbkey.pub 中的 adbkey 文件丢失。

在此之后重新启动,两个文件都在那里。

如果这不起作用: - 尝试撤销 USB 调试授权。- 再次启用 USB 调试。

于 2017-05-15T16:21:15.297 回答
32

按顺序:

    adb kill-server
  • 在您的设备设置中,转到开发人员选项结束禁用USB 调试

  • 按 REVOKE USB 调试授权,点击 OK

  • 启用USB 调试

    adb start-server
    
于 2017-12-05T08:54:00.830 回答
22

我从~/.android文件夹中删除了以下文件:

  • adbkey
  • adbkey.pub

我在设备中禁用并启用了 ADB,现在它可以工作了......

于 2017-01-02T09:44:10.497 回答
17

在开发者选项中,

  1. 启用 USB 调试。

在此处输入图像描述

  1. 给予授权。

在此处输入图像描述

(如果没有开发者选项菜单,您必须点击 3 次手机状态菜单的内部版本号才能成为开发者。您可以选择开发者选项菜单。)

在此处输入图像描述

于 2017-12-12T02:19:32.130 回答
11

删除现有的adbkey

或者

重命名adbkeys

最佳做法是重命名密钥,因为它提供备份。

cd ~/.Android

mv adbkey adbkey2

mv adbkey.pub adbkey.pub2

下一步停止并启动服务器

cd ~/Android/Sdk/platform-tools

找到设备 /Android/Sdk/platform-tools$ ./adb devices

/Android/Sdk/platform-tools$ ./adb kill-server

/Android/Sdk/platform-tools$ ./adb start-server

然后,停止模拟器 打开 AVD 管理器,点击向下箭头,然后点击擦除数据

重启模拟器。然后一切正常:)

于 2019-09-20T02:13:37.323 回答
7

试试这个,取消选中开发者选项中的“通过USB验证应用程序”,然后打开和关闭“USB调试”。它对我有用。

于 2017-09-12T19:07:10.687 回答
6

这对我有用

1- Go to ~/.android/ and remove “adbkey”
2- Disconnect USB connection
3- adb kill-server
4- Revoke USB debugging authorizations (in developer option)
5- Reconnect the device to the Ma
6- adb devices
于 2020-10-09T11:03:44.237 回答
5

确保您已接受按下“确定”按钮,当它通过 USB 连接到您的 PC 后询问它是否显示设备的指纹。

于 2017-06-05T18:18:50.467 回答
4

在 Android Studio 中,Run menu > Run显示OFFLINE ...连接的设备。

以下是解决该问题的过程:

  1. (先阅读下面的注释)删除~/.android/adbkey或者,重命名~/.android/adbkey2为以下步骤有效,因此不确定是否需要此步骤。

  2. 运行locate platform-tools/adb
    注意:在下面的命令中使用来自这里的路径

  3. 杀死 adb 服务器:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. 您将Allow accept..在设备上弹出消息。接受。这很重要,它解决了问题。

  5. 启动 adb 服务器:
    sudo ~/Android/Sdk/platform-tools/adb start-server

  6. 在 Android Studio 中,Run menu > Run再次执行
    它会显示类似Samsung ...(您的手机制造商名称)的内容。
    这次也正确地在设备上安装了apk,没有错误。

希望有帮助。

于 2019-04-02T09:11:11.703 回答
2

此页面上列出的所有方法都不适合我;具体来说:

  • 我遇到了一个问题,即在选择撤销 USB 调试授权时设置应用程序会崩溃
  • 我正在运行 LineageOS 14 x86_64
  • 我在网络上使用 ADB
  • /data/misc/adb包含adb_keys文件
  • 删除我的本地~/.android/adbkey也没有帮助
  • 我从本地终端获得了 root 访问权限
  • 我没有收到任何确认对话框
adb: error: failed to get feature set: 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.
- waiting for device -

最后,我在这里找到了一个非常有用的帖子,建议手动将内容~/.android/adbkey.pub放入/data/misc/adb/adb_keys文件中。

他们建议使用以下两种方法之一:

  1. 从另一台工作设备,将adb_keys文件复制到您的计算机中:

    # On the other Android device
    cp /data/misc/adb/adb_keys /sdcard
    
    # From your computer
    adb pull /sdcard/adb_keys .
    

    然后将工作adb_keys文件放入有问题的Android设备的SD卡(使用Web或MTP)命名为adb_keys,然后将文件复制到正确的路径:

    # On the problematic device
    cp /sdcard/adb_keys /data/misc/adb/adb_keys
    
  2. 另一种方法是简单地adbkey.pub~/.android/目录中复制您的机器,并将其放入名为 的有问题的 Android 设备的 sdcard(使用 Web 或 MTP)中adb_keys,然后将文件复制到正确的路径中:

    # On the problematic device
    cp /sdcard/adbkey.pub /data/misc/adb/adb_keys
    

    (注意:在 SO 上有一个类似的答案,其中详细介绍了此方法。)

由于我在我的计算机上运行一个网络服务器,并且我已经curl安装在 Android 上,我su从终端上运行并在我的 Android 设备上运行以下命令:

cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys

杀死了adb守护进程(使用adb kill-server)和BAMadb外壳工作正常,就像从一开始就应该那样。

希望这里描述的方法对你有用,就像对我一样。

于 2019-10-28T04:12:09.997 回答
2
  1. 首先从您的主目录中的目录中删除adbkeyand 。adbkey.pub.android
  2. .android您的家中创建具有 710 权限$ chmod 710 .android/和所有权的目录:chown -R <user>:<user> .android/。前任:

    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
    
  3. 转到手机中的开发者选项,然后点击选项Revoke USB debugging authorizations

  4. 关闭所有设备USB DebuggingDeveloper Options断开设备与机器的连接。

  5. 再次连接设备,首先打开Developer Options. 然后打开USB debugging.

  6. 此时在您的手机中,您将收到询问您许可的提示。注意:您必须选中复选框always accept from this ….选项并单击确定。

  7. 现在在你的机器上,启动 adb 服务器:adb start-server

  8. 希望当您发出命令时:adb devices现在,您将看到您的设备已准备好获得授权。

于 2019-03-02T11:21:25.240 回答
1

我也被这个问题击中了。我在 Nexus 5X 上使用我自定义的 AOSP 版本。我在 build/core/main.mk 中添加了一行:

diff --git a/core/main.mk b/core/main.mk
index a6f829ab6..555657539 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -362,6 +362,8 @@ else # !enable_target_debugging
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
 endif # !enable_target_debugging

+ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
+
 ## eng ##

 ifeq ($(TARGET_BUILD_VARIANT),eng)

现在adb shell工作正常

那些资料很有用(中文文章):http : //www.voidcn.com/blog/kc58236582/article/p-6335996.html,http: //blog.csdn.net/fanmengke_im/article/details/28389439

于 2016-12-19T16:13:45.647 回答
1

尝试从C/.android文件夹中删除adbkey文件

然后运行上面提到的命令,即

adb kill-server、adb start-server 和 adb devices

.

于 2019-05-15T08:42:15.830 回答
1

您的应用程序被检测为某些有害程序。关闭“通过 USB 验证应用程序”选项。它与“USB 调试”在同一视图中。

于 2020-04-02T09:51:40.087 回答
0

您只需要授权调试模式。
1. 确保您的设备已连接到您的 PC。
2. 允许通过 Android-Studio 授权调试模式,方法是
运行 -> 将调试器附加到 Android 进程,然后
您将在您的设备中看到允许调试模式的弹出窗口,
按 OK。完毕。
我希望它对某人有所帮助。

于 2016-05-10T10:23:49.797 回答
0

重新安装我的android studio后我遇到了同样的问题。这是我为使我的 adb 再次工作所做的工作:

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.
于 2017-05-08T03:18:58.397 回答
0

这对我有用:

rm ~/.android/adbkey.pub

sudo ./adb kill-server

sudo ./adb 启动服务器

sudo ./adb -s emulator-5554 install ~/apk_to_install.apk

我不确定使用 sudo 权限运行 adb 是否是个好主意,但这是我获得它的唯一方法。问候。

于 2020-01-10T16:29:16.543 回答
0

对于以后遇到此问题的任何人,这也可能会有所帮助。我在尝试从用户命令提示符处使用 adb 时遇到了这个确切的问题,并且上面的答案没有帮助,但是在管理员命令提示符下运行时,“adb kill-server”问题消失了。

于 2017-07-15T23:54:51.930 回答
0

当我作为非 root 用户尝试连接到自定义恢复 (Philz) 时遇到权限错误时,我将其作为 root 用户。所以我杀死了 adb 服务器,将我的用户帐户的 .android 子目录复制到 /root,将 -R 改成 root.root,然后重新启动 adb 服务器。算我一个!

于 2020-01-13T18:00:10.653 回答
0
Disconnect USB between PC and device
Stop adb server by entering "adb kill-server" in command window
On device use "Revoke USB debugging authorizations" in "Developer Options"
On PC delete "adbkey" file in user directory, for example "C:\Users\Amit\.android"
Reconnect the device to the PC
Open a command window and enter "adb devices". Watch the device's screen for any Authorization message and allow the connection.
于 2021-05-29T05:22:13.353 回答
-1

我想您已经在智能手机中启用了设备上的开发人员选项?如果没有,您可以查看 Android 提供的步骤,http://developer.android.com/tools/device.html#developer-device-options

于 2015-07-26T15:20:18.743 回答
-1

对于 FIRE STICK 4K,它实际上在对话框中说:

否则,请检查您设备上的确认对话框

确实在另一个房间的电视上出现了一个确认对话框。嗬!

于 2020-08-13T19:42:29.533 回答
-2

我遇到了这个问题,并且没有通过删除任何键来解决(至少删除它们并没有修复它,但在我修复它之后可能有效果)

实际上,我的 sdk-tools 版本和我的 Android Studio 版本之间存在差异。更新我的工具后它仍然无法正常工作,但在更新 AS(至 1.4)后一切正常。

始终同时更新 sdk-tools 和 AS 版本;)

于 2015-10-15T03:31:56.200 回答