E/art:向调试器发送回复失败:管道损坏,但应用程序仍在运行解释错误:如何修复它

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

E/art:向调试器发送答复失败:管道损坏

这是什么意思?我该如何解决它?


答案 1

解释错误:

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

什么是电子/艺术?

ARTAndroid RunTime。这是安卓手机上的字节码解释器。简单地指示 的日志记录级别。EERROR

什么是“向调试器发送回复”?

Android 手机上的调试是使用 adb(Android 调试桥)完成的。该过程在开发计算机(笔记本电脑或PC)上运行,守护程序在Android设备(即模拟器或手机)上运行。adb

什么是断管?

你的开发计算机和 Android 设备像客户端服务器一样进行通信,而管道损坏意味着通信已失效。例如,客户端(Android 设备)正在尝试向服务器(在开发计算机上运行的 adb 进程)发送回复,但服务器已经关闭了套接字。

如何修复它

首先,通过执行清理/重新生成来确保应用正在正确生成。

然后,如果您在真实手机上使用USB调试运行应用程序,那么您通常可以通过拔下USB电缆然后将其重新插入以重新建立客户端/服务器连接来解决问题。

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

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

adb kill-server
adb start-server

答案 2

您可以执行以下操作:

  • Kill emulator 和 Android Studio
  • 打开Android Studio和“重建”,基本上删除构建文件夹并重新创建它。