当我使用有根的Android设备作为ADB主机发送adb命令" adb devices"到三星S4,我收到设备未经授权的错误消息。然而,当我尝试adb到三星Galaxy Nexus时,它工作正常。任何人都可以建议如何解决我的三星S4问题?
=========================================
# adb devices
List of devices attached
4d00f9169907301b unauthorized
=========================================
提前致谢。
修改 发现此问题仅发生在Android 4.2.2及更高版本上。以下链接解释说Google已经实施了一些使用adb的新安全功能。
http://nelenkov.blogspot.com/2013/02/secure-usb-debugging-in-android-422.html
感谢是否有人可以提供帮助。
答案 0 :(得分:46)
从客户端电话(adb主机)获取公钥
cat /data/.android/adbkey.pub
将上述公钥复制到目标手机的/data/misc/adb/adb_keys
位置。 (您可能需要先使用stop adbd
)
cat / data / misc / adb / adb_keys
验证两个cat
输出匹配。
尝试在目标start adbd
上重新启动adb守护程序,或者只是重新启动它们。
如果您在上述步骤中阅读或写入ADB KEYS时遇到问题,请try setting environment variable ADB_KEYS_PATH
使用临时路径(例如:/data/local/tmp
)。请参阅that link it goes into更多详细信息
"On the host, the user public/private key pair is automatically generated,
if it does not exist, when the adb daemon starts and is stored in
$HOME/.android/adb_key(.pub) or in $ANDROID_SDK_HOME on windows. If needed,
the ADB_KEYS_PATH env variable may be set to a :-separated (; under
Windows) list of private keys, e.g. company-wide or vendor keys.
On the device, vendors public keys are installed at build time in
/adb_keys. User-installed keys are stored in /data/misc/adb/adb_keys"
答案 1 :(得分:34)
选中并取消选中设备中的USB Debugging选项。 如果这不起作用,请拔掉并插入USB几次。
在某些时候,设备应显示一个消息框,要求您授权计算机。单击是,然后设备将被授权。
答案 2 :(得分:14)
如果有人有类似的问题,手机屏幕破裂,需要访问adb:
如果您忘记启用开发者模式且您的adb未运行,请执行以下操作:
adb devices
,您应该会在列表中看到该设备。如果是,请输入:
adb shell mount /system
abd shell
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
现在,如果您要重新启动手机,机器人会告诉您"哦,您的adb正在运行,但请点按此确定按钮,这样我们就可以信任您的PC"。显然,如果我们无法点击手机保持恢复模式并执行以下操作(假设您不在adb shell模式下,如果是这样,请先键入exit
):
cd ~/.android
adb push adbkey.pub /data/misc/adb/adb_keys
华友世纪,这一切都应该是笨拙的!只需重新启动手机,即可在手机运行时访问adb:
adb shell reboot
P.S。使用OS X和Moto X Style以及破解的屏幕。
答案 3 :(得分:7)
你试过吗
adb kill-server
adb shell
有时adb卡住了,先杀了adb服务器,然后启动一些命令强制授权窗口弹出。
另请检查手机上的adb客户端版本。 据我所知,adb 1.0.31支持此功能。
答案 4 :(得分:4)
经验:华硕ZENFONE
如果你有面对华硕Zenfones的失踪车手 关注此链接 (http://donandroid.com/how-to-install-adb-interface-drivers-windows-7-xp-vista-623)
我试过
1)在adb cmd处杀死并启动adb服务器。
2)打开和关闭Usb调试......
这就是我的工作原理。
第1步:删除与设备的连接并关闭Eclipse
第2步:导航到C:/Users/User_name/.android /
第3步:您将找到adb_key
第4步:只需将其删除即可。
第5步。再次连接,系统会再次询问您。
第6步。请求设备在提示时记住RSA密钥。我认为已经完成了。
如果您在几天后面临同样的问题,只需禁用并启用USB调试
答案 5 :(得分:1)
当您第一次连接到计算机时弹出窗口时,您需要允许android:layout_height="wrap_content"
!
答案 6 :(得分:1)
对我来说,模拟器无法启用Google Play服务。它可以具有Google API,也可以是x86或x64,但不能是Google Play商店。
答案 7 :(得分:1)
尝试以下步骤:
弹出窗口时,您需要允许“允许USB调试”。
答案 8 :(得分:0)
您必须在s4屏幕中提示您授权该计算机。你可以告诉它记住它。这是出于安全原因,发生在Android 4.4 +
中答案 9 :(得分:0)
从.android
删除文件夹C:/users/<user name>/.android
。它为我解决了这个问题。
答案 10 :(得分:0)
我必须在手机上查看调试器的框“始终允许在此手机上”。然后我做了一个adb设备然后输入adb命令来清除添加。它工作正常。在此之前,它无法识别pm和其他命令
答案 11 :(得分:0)
出于未知原因,我只有~/.android/adbkey
,但没有~/.android/adbkey.pub
。
我猜想adb
无法将公钥推送到设备,因此设备永远不会显示授权对话框。
杀死adb服务器后,删除adbkey
文件并再次启动adb
,电话上会弹出授权对话框。
答案 12 :(得分:-1)
我找到了一个 Nexus 5,安装了TWRP 的解决方案。基本上格式是我找到的唯一解决方案,我尝试过之前列出的所有解决方案:ADB Android Device Unauthorized
要求Google备份您的应用。保存手机上可能包含的所有重要文件
请注意我在失败的情况下拒绝承担所有责任,因为我所做的事情风险很大,但在我的情况下工作:
在开发者选项中启用USB调试(不确定它是否有用,因为设备未经授权但仍然......)
确保您的手机已连接到计算机,并且您可以访问存储空间
下载google img你的nexus:https://developers.google.com/android/nexus/images 取消您的文件并将它们放在计算机上的新文件夹中,将其命名为factory(任何名称都可以)。
擦除所有数据...您将从计算机访问的android中有0个文件。
然后重新启动进入BOOTLOADER模式...您将收到消息“您没有安装操作系统,确定要重启吗?”
然后执行(双击)“factory”文件夹中的.bat文件。
您将看到OS的命令行详细安装。当然,在此阶段避免断开电缆......
电话将需要大约5百万来初始化。