【发布时间】:2015-10-04 20:00:09
【问题描述】:
当我运行我的应用程序时,logcat 中出现了许多行,但只有一个错误:
E/art:向调试器发送回复失败:管道损坏。
这是什么意思?我该如何解决?
【问题讨论】:
标签: java android debugging android-studio logcat
当我运行我的应用程序时,logcat 中出现了许多行,但只有一个错误:
E/art:向调试器发送回复失败:管道损坏。
这是什么意思?我该如何解决?
【问题讨论】:
标签: java android debugging android-studio logcat
E/ART: Failed sending reply to debugger: Broken pipe.
什么是 E/ART?
ART 是 Aandroid RunTime。这是您 Android 手机上的字节码解释器。 E 只是表示ERROR 的日志级别。
什么是“向调试器发送回复”?
Android 手机上的调试是使用adb(Android 调试桥)完成的。 adb 进程在您的开发机器(您的笔记本电脑或 PC)上运行,而一个守护进程在 Android 设备(即模拟器或手机)上运行。
什么是破损的管道?
您的开发机器和 Android 设备像客户端服务器一样通信,管道损坏意味着通信无效。例如,客户端(Android 设备)正在尝试向服务器(开发机器上运行的 adb 进程)发送回复,但服务器已经关闭了套接字。
首先通过执行清理/重建确保您的应用正在正确构建。
如果您在真机上使用 USB 调试运行您的应用程序,那么您通常可以通过拔下 USB 电缆然后将其重新插入以重新建立客户端/服务器连接来解决问题。
如果这不起作用,您可以断开 USB 数据线并(必要时停止模拟器)并关闭 Android Studio。这通常足以停止adb 进程。然后当您再次打开 Android Studio 时,它将重新启动并重新建立连接。
如果这不起作用,您可以尝试使用this question 中的说明手动停止 adb 服务器。例如,您可以尝试打开命令提示符或终端并转到sdk/platform-tools 目录并输入:
adb kill-server
adb start-server
【讨论】:
您可以执行以下操作:
【讨论】:
我在 return 语句中有一个断点,当我删除它时,一切都按原样运行。所以也试试看(删除所有断点)。
【讨论】:
杀死“adb”进程帮助我从这个错误中恢复过来。只需尝试重新启动 adb。
【讨论】:
错误是因为没有得到实际的数据或类。使用带有日志级别错误且没有正则表达式过滤器的 Android 监视器来检查错误。 希望你会得到实际的错误。
【讨论】:
当我在模型类中的对象类型(img 响应)出现错误时出现此错误,而我试图从 Android 中的 Url 获取响应。当我修复它时,错误消失了
【讨论】:
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="myColor">#ccff00</color>
</resources>
【讨论】: