【发布时间】:2017-04-10 22:08:46
【问题描述】:
在手机上运行调试时,我无法在 Android Studio 中附加调试器。
我目前使用的是运行 Android 4.4.4 的三星 S4(但在各种 Android 版本上尝试过 S5、S6、S7 和 Moto E 手机)。当我尝试运行它并出现以下任一错误时,它会超时:
I/System.out:发送 WAIT 块
W/ActivityThread:应用程序正在端口 8100 上等待调试器...
或者
无法打开调试器端口 localhost:8600 java.net.ConnectException "connection denied"
应用程序说:
等待调试器
应用程序(进程)正在等待调试器附加。
强制关闭
Android Studio 版本:
Android Studio 2.2.2
构建 #AI-145.3360264,构建于 2016 年 10 月 18 日
JRE:1.8.0_112-release-b05 x86_64
JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器虚拟机
Mac 版本:
10.11.6 (15G1004)
我可以成功连接并运行应用程序,但是当我执行“运行”>“调试应用程序”>选择已连接的手机>“确定”时,我无法连接调试器。
我已经能够在使用相同手机的其他计算机(Windows 和 Mac)上以调试方式运行该应用程序。
经过数小时的调试和在线搜索,我尝试了各种方法:
使缓存无效/重新启动 Android Studio
-
检查端口 8100、8600、8601 等上运行的其他任何东西,当我从 bash 运行以下命令时没有任何返回:
$ # while Android studio is trying to attach the debugger $ lsof -i :8100 $ lsof -i :8600 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME工作室 6282 彼得 125u IPv4 0x973c7e31bda641ab 0t0 TCP 192.168.1.16:64022->ip-166-62-27-181.ip.secureserver.net:asterix (SYN_SENT) $ lsof -i :8601 $ $ # Android studio 附加调试器失败后 $ lsof -i :8100 $ lsof -i :8600 $ lsof -i :8601 $
运行工具 > Android > Android 设备监视器 - 它显示我的设备,但我在尝试调试应用程序时无法运行 Android 设备监视器,它说:“监视器将关闭以启用 ADB一体化。继续?”我在这里没有找到任何有用的东西。
-
搜索并杀死 adb 进程
ps aux | egrep '(adb|java)' ... then doing `kill <pid>` or `kill -9 <pid>` if necessary for the found ones 重启安卓工作室
重启我的电脑
从 Oracle 网站更新 Java JDK — 但是,我不知道为什么 Android Studio 仍然显示“JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o”
完全卸载并重新安装 android studio - 例如,https://stackoverflow.com/a/18458893/376489 - 奇怪的是,我认为这适用于调试器的一次运行,然后再次运行......
试运行 > 将调试器附加到 Android 进程 - 这没有帮助
-
试运行:
~/Library/Android/sdk/platform-tools/adb kill-server && ~/Library/Android/sdk/platform-tools/adb start-server 尝试取消选中运行 > 编辑配置 > 运行/调试配置 > 如果 APK 未更改则跳过安装
检查系统偏好设置 > 安全和隐私 > 防火墙 - 已关闭
更新 1:尝试撤销手机权限并重启手机
更新 1:静音 Android Studio 的所有断点
对于我在上面添加的细节中可能出现的问题或任何有意义的内容,还有其他想法吗?
【问题讨论】:
-
尝试撤销usb调试授权。
-
谢谢@KERiii——我在手机上撤销了然后又重新启动了 Android Studio——它仍然导致调试控制台中的
Application <app_id> is waiting for the debugger on port 8100...和Sending WAIT chunk,最终超时并且我得到了弹出窗口Unable to open debugger port (localhost:8600): java.net.ConnectException “Connection refused” -
@MrColes 你在通过 wifi 调试吗?
-
很好的问题@PN10 — 我正在使用 USB。我已经成功地使用了相同的 USB 线、相同的手机,并在另外 2 台计算机(一台 Mac,一台 Windows)上运行了相同的项目
标签: android debugging android-studio