【发布时间】:2022-06-15 12:18:10
【问题描述】:
Android Studio Bumblebee (2021.1.1) 于 2022 年 1 月 25 日稳定发布,与新的设备管理器捆绑在一起(同时新支持通过 WIFI 调试 Android 11+ 设备)。我跳上了这个稳定版本,从Android Studio Arctic Fox (2020.3.1 Patch 4) 更新。
不幸的是,自从更新以来,物理设备/手机并没有保持连接到 Android Studio 以进行调试。我可以确认该问题是从 Android Studio Bumblebee 开始引入的(也出现在 Beta 和 Canary 版本中)。我已经在 Android Studio Bumblebee(稳定版)、Chipmunk(测试版)和 Dolphin(Canary)上重现了这个问题,但是 Android Studio Arctic Fox(已取代 Stable)继续正常工作。
在打开 Android Studio (Bumblebee+) 并连接我的一台物理设备后不久就会出现此问题。最初一切看起来都很好,我什至可能有足够的时间将我的项目部署到手机上,然后设备从 Android Studio 中消失(就像我已经从我的计算机或手机本身物理上断开了 USB 电缆)。
我尝试了很多方法来确定根本原因。其中包括测试:
- 使用不同的 USB 电缆。
- 使用不同的手机(不同品牌和型号)。
- 使用各种版本的 Android Studio IDE(如上所述)。
- 将 USB 电缆插入计算机上的不同 USB 端口。
- 正在重启手机和我的电脑。
- 正在重新启动 Android Studio。
- 使缓存无效并重新启动 Android Studio。
-
adb kill-server然后adb start-server。 - 撤销/重新接受 USB 调试授权。
- 重新安装了构建工具/平台工具和 ADB。
- 大量进一步的可能性,但无济于事。
我搜索并阅读了远程类似的问题,包括(但不限于)这些:
- Android Studio Arctic Fox (Adb) - Connected Devices are being disconnected after some time
- Android debugger continually disconnects
This particular comment 在上述问题之一中让我找到了可能的根本原因:
我已经与 adb 没有看到我的设备战斗了几天。在尝试了许多其他已发布的解决方案后,我发现问题在于 Chrome 还试图将其调试器连接到 Web 视图。如果 Chrome 使用 chrome://inspect 连接,则 adb 似乎断开连接。退出 Chrome 可解决此问题。然后我可以连接 Android Studio,然后重新启动 Chrome 并重新连接。希望这对其他人有帮助。
但是,除了关闭谷歌浏览器之外,我对上述发现无能为力,并希望一切顺利。显然这不是一个理想的解决方案。 似乎当 Google Chrome 在chrome://inspect/#devices 页面中显示连接的物理设备时,该物理设备会立即通过 Android Studio 变得不可用。
我目前已经跳回 Android Studio Arctic Fox(2020.3.1 补丁 4),但这带来了其他问题(我当前的核心项目针对的是最新的 SDK 版本,它需要更新的 IDE)。
对此的任何帮助都将不胜感激。我已经用尽了所有我能想到的途径!
【问题讨论】:
-
您在issuetracker.google.com/… 上报告了吗(在此处添加您提供的宝贵信息)
-
不确定这是否是您的:issuetracker.google.com/issues/217251994 您可能需要添加您使用的 Google Chrome 版本,如果不尝试检查/#devices 是否使其稳定。
-
找到这个报告:issuetracker.google.com/issues/216856179 建议
downgrading platform-tools from the last version to 28.0.0 -
@DiegoTorresMilano 我还没有在那里报告它,虽然我找到了一张远程类似的票(由@morrison-chang 找到),并将添加我的注释。 SouthbayDev's answer below 解决了这个问题,可以帮助 Android Studio 开发人员解决根本原因。我还可能提到我没有测试降级
platform-tools,因为上述答案成功解决了这个问题。
标签: android android-studio google-chrome debugging adb