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

当我使用根植Android设备作为ADB主机发送adb命令“adb devices”到Samsung S4时,我收到了设备未经授权的错误消息。 但是,当我尝试adb三星Galaxy Nexus,它工作正常。 任何人都可以build议如何解决我的三星S4问题?

========================================= # adb devices List of devices attached 4d00f9169907301b unauthorized ========================================= 

提前致谢。

编辑:发现这个问题只发生在Android 4.2.2及以上。 以下链接解释说,Google已经实施了一些使用adb的新安全function。

http://nelenkov.blogspot.com/2013/02/secure-usb-debugging-in-android-422.html

感谢任何人都可以帮助。

  • 通过ADB以root身份启动脚本
  • 如何在Android中使用crontab?
  • 从php使用shell脚本生成android apk?
  • 如何获取Android系统启动时间
  • Android上的C ++命令行应用程序?
  • 获取通过adb连接的设备的android操作系统版本
  • 从命令行获取设备的Android SDK版本
  • 如何从命令行在Android设备上添加现有的Google帐户?
    • 从客户端手机获取公钥(adb主机)

      cat /data/.android/adbkey.pub

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

      cat / data / misc / adb / adb_keys

    validation两个cat输出匹配。

    尝试在目标start adbd重新启动adb守护进程或只是重新启动它们。

    如果您在上述步骤中读取或写入ADB KEYS时遇到问题,请尝试使用临时path(例如: /data/local/tmp ) 设置环境variablesADB_KEYS_PATH 。 请参阅该链接进入更多的细节

      "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, eg 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" 

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

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

    如果任何人有类似的问题,有一个电话屏幕破裂,并需要访问亚行:

    1. 根植你的手机(我的手机已经扎根了,所以我至less得到了祝福)。

    如果您忘记启用开发人员模式,并且您的adb未运行,请执行以下操作:

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

       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 

    现在,如果你要重新启动手机,android会告诉你“哦,你的adb正在工作,但请点击这个确定button,所以我们可以信任你的电脑”。 显然,如果我们不能点击手机保持恢复模式,并执行以下操作(假设您不是在adb shell模式下,如果是这样的第一个typesexit ):

     cd ~/.android adb push adbkey.pub /data/misc/adb/adb_keys 
    1. 欢呼,这一切都应该是现在! 只要重新启动手机,您应该可以在手机正在运行时访问adb:

      亚行shell重新启动

    PS是使用OS X和Moto X风格与破解屏幕。

    你有没有尝试过

     adb kill-server adb shell 

    有时adb卡住,先杀死adb服务器,然后启动一些命令强制授权窗口popup。

    也请检查您的手机上的adb客户端版本。 据我所知,这个function是由adb 1.0.31支持的。

    体验:华硕ZENFONE

    如果你有面对华硕Zenfones缺less驱动程序按照此链接( http://donandroid.com/how-to-install-adb-interface-drivers-windows-7-xp-vista-623

    我试着用

    1)在adb cmd中杀死和启动adb服务器。

    2)打开和closuresUSBdebugging和…

    这是我的工作。

    第1步 :删除与设备的连接并closuresEclipse

    第2步 :导航到C:/Users/User_name/.android/

    第3步 :您将findadb_key

    第4步 :只要删除它。

    第五步。再次连接,系统会再次问你。

    第六步:请求设备在提示时记住RSA密钥。 我认为它完成了。

    如果您在几天后面对相同的问题,只需禁用并启用USBdebugging

    C:/users/<user name>/.android .android删除文件夹.android 。 它解决了我的问题。

    必须在您的s4屏幕上提示您授权该计算机。 你可以告诉它记住它。 这是出于安全原因,发生在Android 4.4+

    我不得不在手机上检查debugging器的框,“总是允许这个电话”。 然后我做了一个adb设备,然后inputadb命令清除添加。 它工作正常。 在此之前,它不承认下午和其他命令

    当您第一次连接到计算机时popup窗口,您需要允许Allow USB debugging

    我发现了Nexus 5的一个解决scheme,并安装了TWRP 。 基本上格式是我发现的唯一的解决scheme,我尝试了所有在这里列出的解决scheme: ADB Android设备未经授权

    要求Google备份您的应用程序。 保存您手机上的所有重要文件

    请注意,我拒绝承担所有责任,因为我所做的风险很大,但在我的情况下工作:

    在开发人员选项中启用USBdebugging(不知道它是否帮助,因为设备未经授权,但仍然…)

    确保您的手机已连接到电脑,并且您可以访问存储设备

    下载你的连结的谷歌图片: https : //developers.google.com/android/nexus/images unrar你的文件,并把它们放在你的计算机上的一个新的文件夹,命名工厂(任何名字将做)。

    擦拭所有的数据…你将有0文件在您的Android从计算机访问。

    然后重新启动进入BOOTLOADER模式…你将会看到“你没有安装操作系统,你确定要重新启动吗?

    然后执行(双击)“工厂”文件夹中的.bat文件。

    你会看到命令行详细的安装操作系统。 当然,在这个阶段避免断开电缆

    手机将需要约5mn初始化。