繁体   English   中英

未经授权的 Android ADB 设备

[英]Android ADB devices unauthorized

配置:

  • 视窗 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”,但它没有改变任何东西。 为什么?

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

有效。

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

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

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

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

按顺序:

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

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

  • 启用USB调试

    adb start-server

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

  • adbkey
  • adbkey.pub

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

在开发者选项中,

  1. 启用 USB 调试。

在此处输入图片说明

  1. 给予授权。

在此处输入图片说明

(如果没有Developer option菜单,你必须点击3次Phone State菜单的build number才能成为developer。你可以sse一个开发者选项菜单。)

在此处输入图片说明

删除现有的adbkeys

或者

重命名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管理器,点击向下箭头,然后点击擦除数据

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

尝试取消选中开发人员选项中的“通过 USB 验证应用程序”,然后打开和关闭“USB 调试”。 它和我一起工作。

这对我有用

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

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

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

下面是解决它的过程:

  1. (首先阅读下面的注释)删除~/.android/adbkey (或者,重命名为~/.android/adbkey2 ,这更好, ~/.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 again
    它会显示类似Samsung ... (您的手机制造商名称)的内容。
    这次也正确地在设备上安装了 apk 没有错误。

希望有帮助。

  1. 首先从主目录中的.android目录中删除adbkeyadbkey.pub
  2. 在您的家中使用 710 权限创建.android目录: $ 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 now 时,您将看到您的设备已准备好授权。

我也遇到了这个问题。 我在 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

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

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

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

.

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

  • 我遇到了一个问题,即在选择撤销 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文件到(使用Web或MTP)命名为有问题的Android设备的SD卡adb_keys ,然后将文件放到正确的路径复制:

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

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

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

因为我跑在我的电脑上的Web服务器,我有curl安装在Android,我su从终端“版,跑在Android设备上的情况如下:

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

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

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

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

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

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

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.

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

这对我有用:

rm ~/.android/adbkey.pub

须藤 ./adb 杀服务器

须藤 ./adb 启动服务器

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

我不确定以 sudo 权限运行 adb 是否是个好主意,但这是我让它工作的唯一方法。 问候。

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

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.

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

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

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

事实上,在另一个房间的电视上有一个确认对话框。 呸!

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

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

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

请尝试此处提供的说明: http : //developer.android.com/tools/extras/oem-usb.html

否则,首先,您可以将设备的vid和pid手动添加到<your SDK folder>\\extras\\google\\usb_driver android_winusb.inf文件中,因为其他Google设备可以使用该文件。 要找到它,只需转到设备管理器→设备属性→详细信息→硬件ID,然后可以按照上述链接中所述升级驱动程序。

我说这是因为,如果您打开android_winusb.inf,您可能会找到代码:

;Google Nexus (generic) %SingleBootLoaderInterface% = USB_Install,
USB\VID_18D1&PID_4EE0 %CompositeAdbInterface% = USB_Install,
USB\VID_18D1&PID_4EE2&MI_01

这有助于检测任何Google Nexus设备。 同样,您需要在该文件中为设备复制。

;One plus %SingleBootLoaderInterface% = USB_Install,
USB\**user device hardware ids** %CompositeAdbInterface% = USB_Install,
USB\**user device hardware ids**

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM