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

Vit*_*niv 23 java debugging android logcat android-studio

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

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

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

Dav*_*son 22

解释错误:

E/ART: Failed sending reply to debugger: Broken pipe.
Run Code Online (Sandbox Code Playgroud)

什么是E/ART?

ARTA ndroid R un T ime.这是Android手机上的字节码解释器.在E仅仅表示的日志记录级别ERROR.

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

使用adb(Android调试桥)在Android手机上进行调试.该adb过程在您的开发机器(您的笔记本电脑或PC)上运行,并且守护程序在Android设备(即模拟器或手机)上运行.

什么是破管?

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

如何解决它

首先通过执行清理/重建来确保您的应用正确构建.

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

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

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

adb kill-server
adb start-server
Run Code Online (Sandbox Code Playgroud)