Android ADB 设备未经授权
Android ADB devices unauthorized
配置:
- Windows 8.1
- 亚行版本:1.0.32
- 智能phone:一加一
问题
我安装了三星的驱动程序,据说是这样的。当我 运行 ADB devices 命令时,它说 unauthorized.
已经尝试过:
我已经完成了关于此post所说的一切:
但问题是 phone 上没有提示我必须接受连接。
当我运行命令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",但它没有改变任何东西。为什么?
我想你已经在你的智能手机中启用了设备上的开发者选项?如果没有,您可以查看 Android、http://developer.android.com/tools/device.html#developer-device-options
提供的步骤
我遇到了这个问题,并没有通过删除任何键来解决(至少删除它们没有解决它,虽然我修复它后可能有效果)
实际上我的 sdk-tools 版本和 Android Studio 版本之间存在差异。更新我的工具后它仍然没有工作,但在更新 AS(到 1.4)后一切又正常了。
始终同时更新 sdk-tools 和 AS 版本 ;)
- 尝试撤销 USB 调试授权。
- 再次启用 USB 调试。
成功了。
您只需要授权调试模式即可。
1. 确保您的设备已连接到您的 PC。
2. 转到
允许通过 Android-Studio 授权调试模式
运行 -> 将调试器附加到 Android 进程
比你会看到弹出窗口 window 允许在你的设备中使用调试模式,
按确定。完成。
我希望它对某人有所帮助。
我也遇到了这个问题。我在 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
我从 ~/.android 文件夹中删除了以下文件:
- adbkey
- adbkey.pub
我在设备中禁用并启用了 ADB,现在它可以工作了...
重新安装我的 android 工作室后,我遇到了同样的问题。这是我为使我的 adb 再次工作所做的工作:
-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.
Thankgod xda 开发者存在:http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087
只需删除 C:Users/$Name/ 中的 adbkey 文件。android adbkey.pub 丢失。
之后重新启动,两个文件都在那里。
如果这不起作用:
- 尝试撤销 USB 调试授权。
- 再次启用 USB 调试。
确保在通过 USB 连接到您的 PC 后询问它是否显示设备指纹时,您已接受按下的 "ok" 按钮。
对于以后遇到此问题的任何人,这也可能有所帮助。我在尝试从用户命令提示符下使用 adb 时遇到了这个确切的问题,上面的答案没有帮助,但是在管理员命令提示符下 运行 时,问题随着 "adb kill-server" 消失了。
尝试取消选中开发人员选项中的 "verify apps via USB",然后打开和关闭 "USB Debugging"。它适用于我。
依次为:
adb kill-server
在您的设备设置中,转到开发人员选项结束禁用 usb-debugging
按REVOKE USB调试权限,点击OK
启用USB 调试
adb start-server
在开发者选项中,
- 启用 USB 调试。
- 授权。
(如果没有开发者选项菜单,必须点击3次Phone状态菜单的内部版本号才能成为开发者,可以看到开发者选项菜单。)
- 首先从主目录的
.android
目录中删除 adbkey
和 adbkey.pub
。
在您的家中创建 .android
目录,权限为:$ chmod 710 .android/
,所有权为:chown -R <user>:<user> .android/
。例如:
$ chmod 710 .android/
$ chown -R ashan:ashan .android/
转到手机中的开发者选项并点击选项 Revoke USB debugging authorizations
关闭设备中的所有 USB Debugging
和 Developer Options
,并断开设备与计算机的连接。
重新连接设备,首先打开Developer Options
。然后打开USB debugging
。
此时在您的手机中,您会收到一个提示,要求您征求许可。注意:您必须选中复选框 always accept from this ….
选项并单击确定。
现在在你的机器上,启动 adb 服务器:adb start-server
.
希望当您发出命令:adb devices
现在,您会看到您的设备已准备好授权。
在 Android studio 中,Run menu > Run
显示已连接设备的 OFFLINE ...
。
下面是解决问题的步骤:
(先阅读下面的注释)删除 ~/.android/adbkey
(或者,重命名为 ~/.android/adbkey2
,这样更好,以防你出于某种原因想要它回来)
注意:我碰巧做了这一步,但是并没有解决问题,在做了下面的所有步骤之后它起作用了,所以不确定是否需要这一步。
运行 locate platform-tools/adb
注意:在下面的命令中使用来自这里的路径
关闭 adb 服务器:
sudo ~/Android/Sdk/platform-tools/adb kill-server
您将在设备上看到 Allow accept..
消息弹出窗口。接受。这个很重要,解决了问题
启动 adb 服务器:
sudo ~/Android/Sdk/platform-tools/adb start-server
在Android工作室,再做Run menu > Run
它会显示类似 Samsung ...
(您的 phone 制造商名称)的内容。
这次也正确地在设备上安装了 apk,没有错误。
希望对您有所帮助。
Try deleting the adbkey file from C/.android folder
然后 运行 命令为
上面提到的即
adb kill-server, adb start-server and adb devices
.
删除现有的 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 管理器,单击向下箭头,然后单击 擦除数据
重启模拟器。然后一切正常:)
None 本页列出的方法对我有用;具体来说:
- 我遇到了一个问题,即在选择 撤销 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 -
最后,我发现了一个非常有用的post here,建议将~/.android/adbkey.pub
的内容手动放入/data/misc/adb/adb_keys
文件中。
他们提出了以下两种方法之一:
从另一个正在工作的设备,将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设备的sdcard(使用Web或MTP)命名为adb_keys
,然后将文件复制到正确的路径:
# On the problematic device
cp /sdcard/adb_keys /data/misc/adb/adb_keys
另一种方法是简单地从 ~/.android/
目录中复制您机器的 adbkey.pub
,并将其放入有问题的 Android 设备的 sdcard(使用 Web 或MTP) 命名为 adb_keys
,然后将文件复制到正确的路径:
# On the problematic device
cp /sdcard/adbkey.pub /data/misc/adb/adb_keys
(注意:SO 上有一个 similar answer 详细介绍了此方法。)
因为我是 运行 我计算机上的网络服务器,并且我在 Android 上安装了 curl
,所以我从终端 su
并且 运行 我的 Android 设备上的以下内容:
cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys
已杀死 adb
守护程序(使用 adb kill-server
)和 BAM! adb
shell 工作正常,就像从一开始就应该的那样。
希望这里描述的方法对你有用,就像对我一样。
这对我有用:
rm ~/.android/adbkey.pub
sudo ./adb kill-server
sudo ./adb 启动服务器
sudo ./adb -s emulator-5554 install ~/apk_to_install.apk
我不确定 运行 具有 sudo 权限的 adb 是否是个好主意,但这是我让它工作的唯一方法。问候。
当我作为非 root 用户尝试连接到自定义恢复 (Philz) 时遇到权限错误时,我以 root 身份获得了此信息。所以我终止了 adb 服务器,将我的用户帐户的 .android 子目录复制到 /root,chowned -R 到 root.root,然后重新启动了 adb 服务器。我在!
您的应用被检测为某些有害程序。
关闭 "Verify apps over USB" 选项。它与 "USB debugging".
的视图相同
对于 FIRE STICK 4K,它实际上在对话框中说:
否则请检查您设备上的确认对话框
确实在另一个房间的电视上有一个确认对话框。啊!
这对我有用
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
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.
配置:
- Windows 8.1
- 亚行版本:1.0.32
- 智能phone:一加一
问题
我安装了三星的驱动程序,据说是这样的。当我 运行 ADB devices 命令时,它说 unauthorized.
已经尝试过:
我已经完成了关于此post所说的一切:
但问题是 phone 上没有提示我必须接受连接。
当我运行命令
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",但它没有改变任何东西。为什么?
我想你已经在你的智能手机中启用了设备上的开发者选项?如果没有,您可以查看 Android、http://developer.android.com/tools/device.html#developer-device-options
提供的步骤我遇到了这个问题,并没有通过删除任何键来解决(至少删除它们没有解决它,虽然我修复它后可能有效果)
实际上我的 sdk-tools 版本和 Android Studio 版本之间存在差异。更新我的工具后它仍然没有工作,但在更新 AS(到 1.4)后一切又正常了。
始终同时更新 sdk-tools 和 AS 版本 ;)
- 尝试撤销 USB 调试授权。
- 再次启用 USB 调试。
成功了。
您只需要授权调试模式即可。
1. 确保您的设备已连接到您的 PC。
2. 转到
允许通过 Android-Studio 授权调试模式
运行 -> 将调试器附加到 Android 进程
比你会看到弹出窗口 window 允许在你的设备中使用调试模式,
按确定。完成。
我希望它对某人有所帮助。
我也遇到了这个问题。我在 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
我从 ~/.android 文件夹中删除了以下文件:
- adbkey
- adbkey.pub
我在设备中禁用并启用了 ADB,现在它可以工作了...
重新安装我的 android 工作室后,我遇到了同样的问题。这是我为使我的 adb 再次工作所做的工作:
-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.
Thankgod xda 开发者存在:http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087
只需删除 C:Users/$Name/ 中的 adbkey 文件。android adbkey.pub 丢失。
之后重新启动,两个文件都在那里。
如果这不起作用: - 尝试撤销 USB 调试授权。 - 再次启用 USB 调试。
确保在通过 USB 连接到您的 PC 后询问它是否显示设备指纹时,您已接受按下的 "ok" 按钮。
对于以后遇到此问题的任何人,这也可能有所帮助。我在尝试从用户命令提示符下使用 adb 时遇到了这个确切的问题,上面的答案没有帮助,但是在管理员命令提示符下 运行 时,问题随着 "adb kill-server" 消失了。
尝试取消选中开发人员选项中的 "verify apps via USB",然后打开和关闭 "USB Debugging"。它适用于我。
依次为:
adb kill-server
在您的设备设置中,转到开发人员选项结束禁用 usb-debugging
按REVOKE USB调试权限,点击OK
启用USB 调试
adb start-server
在开发者选项中,
- 启用 USB 调试。
- 授权。
(如果没有开发者选项菜单,必须点击3次Phone状态菜单的内部版本号才能成为开发者,可以看到开发者选项菜单。)
- 首先从主目录的
.android
目录中删除adbkey
和adbkey.pub
。 在您的家中创建
.android
目录,权限为:$ chmod 710 .android/
,所有权为:chown -R <user>:<user> .android/
。例如:$ chmod 710 .android/ $ chown -R ashan:ashan .android/
转到手机中的开发者选项并点击选项
Revoke USB debugging authorizations
关闭设备中的所有
USB Debugging
和Developer Options
,并断开设备与计算机的连接。重新连接设备,首先打开
Developer Options
。然后打开USB debugging
。此时在您的手机中,您会收到一个提示,要求您征求许可。注意:您必须选中复选框
always accept from this ….
选项并单击确定。现在在你的机器上,启动 adb 服务器:
adb start-server
.希望当您发出命令:
adb devices
现在,您会看到您的设备已准备好授权。
在 Android studio 中,Run menu > Run
显示已连接设备的 OFFLINE ...
。
下面是解决问题的步骤:
(先阅读下面的注释)删除
~/.android/adbkey
(或者,重命名为~/.android/adbkey2
,这样更好,以防你出于某种原因想要它回来)
注意:我碰巧做了这一步,但是并没有解决问题,在做了下面的所有步骤之后它起作用了,所以不确定是否需要这一步。运行
locate platform-tools/adb
注意:在下面的命令中使用来自这里的路径关闭 adb 服务器:
sudo ~/Android/Sdk/platform-tools/adb kill-server
您将在设备上看到
Allow accept..
消息弹出窗口。接受。这个很重要,解决了问题启动 adb 服务器:
sudo ~/Android/Sdk/platform-tools/adb start-server
在Android工作室,再做
Run menu > Run
它会显示类似Samsung ...
(您的 phone 制造商名称)的内容。
这次也正确地在设备上安装了 apk,没有错误。
希望对您有所帮助。
Try deleting the adbkey file from C/.android folder
然后 运行 命令为 上面提到的即
adb kill-server, adb start-server and adb devices
.
删除现有的 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 管理器,单击向下箭头,然后单击 擦除数据
重启模拟器。然后一切正常:)
None 本页列出的方法对我有用;具体来说:
- 我遇到了一个问题,即在选择 撤销 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 -
最后,我发现了一个非常有用的post here,建议将~/.android/adbkey.pub
的内容手动放入/data/misc/adb/adb_keys
文件中。
他们提出了以下两种方法之一:
从另一个正在工作的设备,将
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设备的sdcard(使用Web或MTP)命名为adb_keys
,然后将文件复制到正确的路径:# On the problematic device cp /sdcard/adb_keys /data/misc/adb/adb_keys
另一种方法是简单地从
~/.android/
目录中复制您机器的adbkey.pub
,并将其放入有问题的 Android 设备的 sdcard(使用 Web 或MTP) 命名为adb_keys
,然后将文件复制到正确的路径:# On the problematic device cp /sdcard/adbkey.pub /data/misc/adb/adb_keys
(注意:SO 上有一个 similar answer 详细介绍了此方法。)
因为我是 运行 我计算机上的网络服务器,并且我在 Android 上安装了 curl
,所以我从终端 su
并且 运行 我的 Android 设备上的以下内容:
cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys
已杀死 adb
守护程序(使用 adb kill-server
)和 BAM! adb
shell 工作正常,就像从一开始就应该的那样。
希望这里描述的方法对你有用,就像对我一样。
这对我有用:
rm ~/.android/adbkey.pub
sudo ./adb kill-server
sudo ./adb 启动服务器
sudo ./adb -s emulator-5554 install ~/apk_to_install.apk
我不确定 运行 具有 sudo 权限的 adb 是否是个好主意,但这是我让它工作的唯一方法。问候。
当我作为非 root 用户尝试连接到自定义恢复 (Philz) 时遇到权限错误时,我以 root 身份获得了此信息。所以我终止了 adb 服务器,将我的用户帐户的 .android 子目录复制到 /root,chowned -R 到 root.root,然后重新启动了 adb 服务器。我在!
您的应用被检测为某些有害程序。 关闭 "Verify apps over USB" 选项。它与 "USB debugging".
的视图相同对于 FIRE STICK 4K,它实际上在对话框中说:
否则请检查您设备上的确认对话框
确实在另一个房间的电视上有一个确认对话框。啊!
这对我有用
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
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.