【问题标题】:Android Studio - Device is connected but 'offline'Android Studio - 设备已连接但“离线”
【发布时间】:2015-09-07 00:19:23
【问题描述】:

这是一个很常见的问题,但似乎没有一个解决方案适合我。第一次提问,如果我弄错了约定,请见谅。

我正在尝试将我的 Galaxy S5 连接到我的运行 Ubuntu 14.04 的计算机,以便我可以进行一些 Android 开发。我最近下载并安装了 Android Studio 和 SDK,当我的设备通过 USB 连接时被检测到,但设备显示为“未授权”或“离线”。我知道我应该期待 RSA 密钥提示,但这永远不会出现。

我试过了:

  • 检查调试已启用
  • 运行 adb kill-server 和 adb devices
  • 重启(设备、开发者选项、机器)
  • 简单的拔出和重新插入 USB 数据线
  • 检查我的 adb 版本(它是 1.0.31)
  • 尝试不同的 USB 端口
  • 撤销 USB 调试授权
  • 在 Android Studio 中切换启用 ADB 集成
  • 作为 PTP 设备和 MTP 设备连接

我已经在运行 fedora 的单独机器上尝试过它,它运行良好,没有任何问题,提示立即出现。所以我想不是USB线有问题。

有什么想法吗?

【问题讨论】:

  • this 有帮助吗?
  • @nhaarman 我没试过,谢谢。只是按照说明操作还是不行
  • 安装 padNet+ 并重启你的设备以及 android studio。
  • 我讨厌安卓工作室。当我的设备确实已连接时,它突然开始向我显示此信息。

标签: android-studio adb


【解决方案1】:

试试这些:

  • 拔下并重新插入 USB 电缆。
  • 如果还是不行,请拔掉 USB 线,在设备设置中禁用然后启用 USB 调试。
  • 如果以上两种方法都失败,请重启设备。
  • 如果重启设备也失败,请也重启 Android Studio。
  • 如果重启 Android Studio 仍然失败,尝试adb kill-server 然后adb start-server

希望这会有所帮助。

【讨论】:

  • 重启设备是我的工作选项。谢谢
  • 我的设备是wifi adb,不是usb
  • 如果上述措施不起作用,您可以尝试重新启用开发者模式。
  • 我只是想知道为什么由最大的开发商之一(谷歌)制作的如此大量使用和基本的功能如此不稳定?
  • @PolGraphic 不是谷歌,而是制造手机硬件的公司。谷歌制造了操作系统,但制造商是否拥有可以与操作系统一起使用的兼容芯片。
【解决方案2】:

尝试杀死adb adb kill-server然后禁用usb调试然后通过adb start-server启动adb然后启用usb调试并再次插入手机,呵呵不要让手机在进程之间休眠

编辑

原来我的笔记本电脑的 ADB RSA 密钥有问题。我假设我的 G3 拒绝了一个坏密钥并不允许我的笔记本电脑通过 ADB 连接到它。

ADB 将密钥文件保存在 Windows 计算机的多个位置之一,第一个在 adb.exe 所在的位置 (C:\android),第二个在用户的 >profile (C:\Users* username*.android),第三位在Windows系统文件(C:\Windows\System32\config\systemprofile.android)中,文件>简单命名为“adbkey”,不带扩展名。如果 ADB 运行时没有密钥文件,它会自动生成一个。

我的位于我的用户文件夹中 (C:\Users*username*.android)。我所要做的就是删除adbkey文件(还有一个名为“adbkey.pub”的文件>我也删除了),在命令提示符下重新启动adb服务器(adb start-server)并插入我的手机。我立即在我的 >G3 上收到 RSA 指纹密钥窗口,允许两个设备之间的连接。然后输入“adb devices”返回我手机的序列号,然后输入“设备”显示它可用。 >我回到 C:\Users*username*.android\ 文件夹,果然有新的“adbkey”和“adbkey.pub”文件。

来自 XDA

编辑 2

也试试这个步骤

  1. 导航到 .android 的存储位置
  2. 打开 .android 并删除名为 adbkey 和 adbkey.pub 的文件
  3. 启动 ADB 然后输入adb kill-serveradb start-server

【讨论】:

  • 感谢您的回答。这个我试过了,还是没有出现RSA提示
  • 尝试切换 mtp 到 ptp 或 ptp 到 mtp
  • 谢谢。我在哪里可以找到 .android?我似乎无法找到它们。我使用的是 Ubuntu 14.04,所以不确定您的解决方案如何映射到它。
  • 项目所在位置
【解决方案3】:

我对这个问题的解决方法:

  1. Android 设置
  2. 开发者选项
  3. 撤销 USB 调试授权
  4. 重新插入设备并照常接受授权。
  5. 利润

【讨论】:

  • 太棒了。接缝最简单和最直接的解决方案。为我工作,谢谢!
【解决方案4】:

第 1 步:在开发者选项中关闭 USB 调试

第 2 步:移除 USB 数据线

第 3 步:打开 USB 调试(这取决于 USB 配置)

第 4 步:在命令提示符下输入 adb kill-server 然后 adb start-server

第 5 步:连接 USB 数据线

第 6 步:在 Android Studio 中的 Run 中检查已连接的设备(您应该能够看到您的设备已列出)

第 7 步:如果您想使用电缆继续跑步,这就足够了

(如果您想进行无线调试,请继续执行以下步骤)

第 8 步:输入 adb tcpip 5555。如果没有显示错误,请移除 USB 数据线

第 9 步:在 About abd 中查找您手机的 IP 地址,然后输入 adb connect xxx.vvv.b.n(您的手机 IP)

第 10 步:再次检查 Android Studio 中的设备,您会在设备列表中看到您的设备。如果是的话,

【讨论】:

  • 这个!!对我来说,重要的部分原来是以下行 adb tcpip 5555 连同 使用我手机 IP 中的端口,如下所示:adb connect 192.168.1.87:5555。我首先自己尝试了它们。就像使用 tcpip 命令并在 connect 命令中省略端口,或者在 connect 命令中使用端口并省略 tcpip 命令。不去。两者都需要在那里。
【解决方案5】:

如果您在 Windows 上遇到同样的问题,请尝试从任务管理器中终止 adb.exe 进程,然后重新运行您的应用。

【讨论】:

    【解决方案6】:

    无法连接三星 Note II (N7100)。

    第 1 步。按照上面user4847410 的回答。下次您连接手机时,它会显示一条授权消息,然后您就可以进入了。

    第 2 步。我还更换了电缆。

    第 3 步。检查 USB 端口,就像您安装在一个特定端口上一样,然后另一个端口可能不适合您。

    注意:制作了两个批处理文件

    adb-fix.bat

    adb kill server
    adb start server
    pause
    

    adb-devices.bat

    adb devices
    pause   
    

    -- 投票给那个正确答案,但我没有足够的荣誉,所以它被删除了! --

    【讨论】:

    • 什么是pause
    • 它使 Windows shell 等待击键。
    【解决方案7】:

    要解决此问题,请使用 USB2 而不是 USB3

    【讨论】:

      【解决方案8】:

      一根较短的电缆就可以了。

      事实证明,电缆内部使用的线材厚度会影响电缆组件的电阻 - 当连接的负载吸收电流时,该电阻会导致电缆内部的能量损失,并导致电压降,从而将电压降低到将终端设备充电到无法快速或完全充电的程度。

      http://goughlui.com/2014/10/01/usb-cable-resistance-why-your-phonetablet-might-be-charging-slow/

      【讨论】:

      • 确实!我的 1 米电缆始终可用,而我的新 1.5 米电缆却不行。
      【解决方案9】:

      换USB线!!! 我无法从技术上解释这一点,但是经过大量的试验和错误,这对我有用。

      【讨论】:

        【解决方案10】:

        我有一根长长的白色电缆。只是不会保持联系。换用另一根更短的黑色电缆,它的工作时间为 100%。

        【讨论】:

          【解决方案11】:

          在 Android 手机设置中禁用和启用开发者选项和调试模式修复了该问题。

          【讨论】:

            【解决方案12】:

            之前我做了将近 3 小时:

            1. 我尝试了几个站点中提供的所有内容,但我的 android 设备从未上线。
            2. 当我运行 adb kill-server 和 adb-startserver 时,android studio 右下角的“设备文件资源管理器”显示“设备不在线 (DISCONNECTED)”。

            解决方法如下:

            1. 在“开发选项”下撤销设备上的所有 USB 调试授权
            2. 我将 sudo 添加到命令“sudo adb kill-server”,然后添加“sudo adb start-server”。
            3. 此后,android studio 中“设备文件资源管理器”中的消息更改为“设备正在等待身份验证,请接受设备上的调试会话”。但是设备上没有出现任何消​​息。尝试停止-重新启动 adb,连接重新连接 USB 电缆,停止-启动 USB 调试,但没有任何效果。
            4. 回到设备并将设备 USB 设置从 USB 充电更改为“PTP”,然后重新启动 Android Studio。而且,砰的一声,手机上出现了接受设备调试会话的消息。

            【讨论】:

              【解决方案13】:

              使用这个命令

              -> adb disconnect
              
              -> adb connect <ip address for your mobile:port number>
              

              例如:adb connect 192.168.2.58:5555

              【讨论】:

                【解决方案14】:

                如果您使用智能手机进行调试,请将 USB 首选项更改为文件传输。

                有几种选择:

                文件传输 /* 选择这个 */

                USB 网络共享

                MIDI

                PTP

                无数据传输

                【讨论】:

                  【解决方案15】:

                  你可以试试这个:

                  1. 转到tools/enable adb integration 并取消选中它。

                  2. 现在检查并再次运行。下次android studio会重启adb,它可能会找到你的设备。

                  【讨论】:

                  • 谢谢。这也没有奏效。该设备仍列为离线
                  【解决方案16】:
                  • 通过在 cmd 中发出这些命令重新启动 adb

                    adb kill-server 以终止现有的 adb 会话

                    后跟 adb start-server 以启动新的 adb 会话
                  • 在手机上禁用并重新启用 USB 调试,并在手机询问时接受 RSA 指纹
                  • 如果还是不行就重启手机。

                  如果以上方法都不能解决您的问题,您可以尝试删除名为“ANDROID_SDK_HOME”的环境变量。 它真的解决了我的问题。希望对您有所帮助!

                  【讨论】:

                    【解决方案17】:

                    这个问题是因为您使用了旧的 adb 版本并且您的设备不支持。或者你有多个 adb

                    关键是:

                    • 确保您的 SDK 上有最新的 adb 可执行文件
                    • 确保从“SDK_DIR/platform-tools/”运行 adb 命令,因为这应该是最新版本(键入命令“which adb”来检查)如果您有多个 adb 文件,您可以重命名另一个。

                    在我的情况下,在我的 Windows 7 上,我在“C:\Windows\adb.exe”上多了一个 adb,它是一个旧版本,所以我的 adb 命令总是从那个文件运行。我通过从我的 sdk 目录“SDK_DIR/platform-tools/adb.exe”运行 adb 解决了这个问题

                    【讨论】:

                      【解决方案18】:

                      在 windows--> 从 android sdk 中的 platform-tools 文件夹启动你的终端。

                      然后使用以下命令

                      adb kill server
                      adb start server
                      

                      它应该可以工作

                      【讨论】:

                        【解决方案19】:

                        尝试按照以下步骤升级您的 Android SDK 平台:

                        1. 运行 SDK 管理器

                        2. 执行“安装包...”

                        3. 重启 SDK 管理器

                        我试过了,没问题。

                        参考:link

                        【讨论】:

                        • 在此处添加更多信息。链接可能不可用。
                        【解决方案20】:

                        您可能拥有旧版本的 ADB,请更新工具包,这应该会关闭最新的 ADB。

                        【讨论】:

                          【解决方案21】:

                          我最近也遇到了这个问题,我通过重启 Android Studio 解决了这个问题。但是我的朋友必须为他的设备配备原装电缆,没有其他电缆可以工作。

                          【讨论】:

                            【解决方案22】:

                            在我的情况下(同样的问题 - Nexus 5 已连接但处于“离线”状态)问题已通过 Android Studio 中的“使缓存无效并重新启动”得到解决。 假设问题出在 adb 中,并且重新启动 Android Studio 会导致 adb 重新启动。

                            【讨论】:

                              【解决方案23】:

                              通过访问制造商网站(如:Samsung、micromax、intex 等)手动下载并安装您的设备驱动程序。

                              【讨论】:

                                【解决方案24】:

                                就我而言,问题在于我使用了 USB 延长线。只要我将 microUSB 电缆插入 PC,设备就会检测到。

                                【讨论】:

                                  【解决方案25】:

                                  在我的例子中,你需要以设备所有者的身份登录才能正确接受 USB 调试。

                                  尝试了“在手机上禁用并重新启用USB调试”步骤,但“普通”用户没有得到RSA提示,切换到所有者并再次尝试并得到它。

                                  【讨论】:

                                    【解决方案26】:

                                    我在使用带有 USB-C 适配器的 microUSB 电缆的 USB-C 设备上遇到了这个问题。在没有任何适配器的情况下切换到 USB-C 电缆后,它就可以工作了。我只在乐视上看到过这个问题。

                                    【讨论】:

                                      【解决方案27】:

                                      我尝试了此页面上的大部分内容,但没有一个适用于我的三星 S5。但是,当我将电缆切换到 USB-C 类型时,问题似乎得到了解决……直到下一次。

                                      【讨论】:

                                        【解决方案28】:

                                        除了上面提到的解决方案,尝试为您的平台下载三星的 Android USB 驱动程序。这是 Windows 的链接:

                                        https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows

                                        【讨论】:

                                          【解决方案29】:

                                          如果您的应用不操纵 WiFi 连接 - 另一个稍微不同的解决方案,它完全绕过 USB 问题 - 启用 wireless debugging connection - ADB over WiFi/TCP/IP。

                                          【讨论】:

                                            【解决方案30】:

                                            这对我来说是固定的

                                            在工具窗口中取消选中启动

                                            来源

                                            https://github.com/google/android-emulator-m1-preview/issues/76#issuecomment-1023563846

                                            【讨论】: