android - 如何解决 Android ADB 主机设备中未经授权的 ADB 设备?

标签 android shell adb

当我使用 root 的 Android 设备作为 ADB 主机向三星 S4 发送 adb 命令“adb devices”时,我收到了设备未经授权的错误消息。但是,当我尝试 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

感谢是否有人可以提供帮助。

最佳答案

  • 从客户端手机(adb 主机)获取公钥

    cat/data/.android/adbkey.pub

  • 将上述公钥复制到目标手机的/data/misc/adb/adb_keys 位置。 (您可能需要先使用 stop adbd 停止 adb 守护程序)

    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"

关于android - 如何解决 Android ADB 主机设备中未经授权的 ADB 设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26213954/

相关文章:

java - Android GUI 根据上下文显示/隐藏不同的面板?

c# - 更改单个 ListView 项目

macos - BASH 用户驱动器选择

安卓通过蓝牙调试

android - 从 adb 访问 Tty 驱动程序 android?

android - python 和 (android) adb shell

java - Android SDK R 错误(及其他)

linux - 在 Perl 中运行 Shell 命令

linux - 在 bash 脚本中找不到检测命令

java - 使用 IntDef 的类型安全