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

时间:2014-10-06 10:04:18

标签: android shell adb

当我使用有根的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

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

13 个答案:

答案 0 :(得分:46)

  • 从客户端电话(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"

答案 1 :(得分:34)

选中并取消选中设备中的USB Debugging选项。 如果这不起作用,请拔掉并插入USB几次。

在某些时候,设备应显示一个消息框,要求您授权计算机。单击是,然后设备将被授权。

答案 2 :(得分:14)

如果有人有类似的问题,手机屏幕破裂,需要访问adb:

  1. 根你的手机(我已经扎根了,所以至少我很幸运。)
  2. 如果您忘记启用开发者模式且您的adb未运行,请执行以下操作:

    1. 重新启动手机进行恢复。
    2. 使用电缆连接手机。
    3. 打开终端。
    4. 如果您输入adb devices,您应该会在列表中看到该设备。
    5. 如果是,请输入:

      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
      
    6. 现在,如果您要重新启动手机,机器人会告诉您"哦,您的adb正在运行,但请点按此确定按钮,这样我们就可以信任您的PC"。显然,如果我们无法点击手机保持恢复模式并执行以下操作(假设您不在adb shell模式下,如果是这样,请先键入exit):

      cd ~/.android
      adb push adbkey.pub /data/misc/adb/adb_keys
      
      1. 华友世纪,这一切都应该是笨拙的!只需重新启动手机,即可在手机运行时访问adb:

        adb shell reboot

      2. 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)

尝试以下步骤:

  1. 拔出设备
  2. adb kill-server
  3. adb启动服务器
  4. 插入设备

弹出窗口时,您需要允许“允许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百万来初始化。