E/art:向调试器发送回复失败:管道损坏,但应用程序仍在运行



当我运行应用程序时,logcat中出现了许多行,但只有一个错误:

E/art: Failed sending reply to debugger: Broken pipe.

这是什么意思?我该怎么补救呢?

错误解释:

E/ART: Failed sending reply to debugger: Broken pipe.

什么是E/ART?

艺术>的

ndroid R 联合国 T 输入法。这是Android手机上的字节码解释器。E仅表示ERROR的日志级别。

什么是"发送回复给调试器"?

Android手机上的调试使用adb (Android Debugging Bridge)完成。adb进程运行在你的开发机器上(你的笔记本电脑或PC),一个守护进程运行在Android设备上(即模拟器或手机)。

什么是破裂的管道?

您的开发机器和Android设备像客户端服务器一样通信,并且破裂的管道意味着通信已经无效。例如,客户端(Android设备)试图向服务器(运行在开发机器上的adb进程)发送回复,但服务器已经关闭了套接字。

如何修复

首先通过执行clean/rebuild来确保你的应用是正确构建的。

然后,如果你在真正的手机上使用USB调试运行你的应用程序,那么你可以通过拔掉USB电缆,然后把它插回去重新建立客户端/服务器连接来解决这个问题。

如果这不起作用,您可以断开USB电缆并(必要时停止模拟器)并关闭Android Studio。这通常足以停止adb进程。然后,当你再次打开Android Studio时,它将重新启动,连接将重新建立。

如果这不起作用,您可以尝试使用本问题中的说明手动停止adb服务器。例如,您可以尝试打开命令提示符或终端,进入sdk/platform-tools目录并输入:

adb kill-server
adb start-server

您可以这样做:

  • 关闭模拟器和Android Studio
  • 打开Android Studio和"重建",基本上删除构建文件夹并重新创建它。

在返回语句中有一个断点,当我删除它时,一切都正常运行。所以也试一下(删除所有断点)。

终止"adb"进程帮助我从这个错误中恢复过来。

由于没有获得实际数据或类而出现错误。使用Android Monitor与日志级别错误,没有Regex过滤器检查错误。

当我在模型类中犯了对象类型(img响应)错误时,我遇到了这个错误,而我试图从Android中的Url获得响应。当我修复它的时候错误变成了

  1. 检查res文件夹中的文件名颜色如果name为color,则替换为colors
  2. 我认为你需要把你的颜色声明从strings。xml中移出来放到colors。xml

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="myColor">#ccff00</color>
</resources>

最新更新