我正在开发一个 Android 应用程序,它从一些自定义硬件流式传输串行数据。我正在使用 mik3y 的usb-serial-for-android库在 OTG 模式下通过 USB 获取串行数据,经过一些调整后工作正常。
但是,对于通过 USB 接口进行的每项事务,UsbRequestJNI
都会记录一个init
和close
消息。这使 LogCat 每秒有数千条日志消息(注意时间戳):
02-17 09:30:21.590 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.590 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
02-17 09:30:21.594 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.594 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
02-17 09:30:21.598 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.598 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
02-17 09:30:21.602 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.602 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
02-17 09:30:21.606 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.606 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
02-17 09:30:21.610 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.610 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
02-17 09:30:21.614 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ close
02-17 09:30:21.614 2332-2349/com.dummydomain.app D/UsbRequestJNI﹕ init
我知道我可以在 IDE 中过滤这些,但我想阻止它们,这样它们就不会占用调试器带宽。
据我所知,UsbRequestJNI
是一个操作系统提供的 JNI 库,所以我不能只编辑源代码。那么如何告诉它在仍在运行调试构建的同时停止记录这些调试消息,以便我可以看到其他相关的调试信息?
谷歌搜索只产生了this,这基本上是相同的问题,但没有适用于此处的解决方案。
(我的开发设备运行的是 Android 4.3,我正在 Android Studio 1.0.1 上开发)
更新:刚刚找到UsbRequest 的来源,相关行是 ALOGD 语句(第 45 和 71 行)。所以我想问题变成了:如何抑制 ALOGD 消息?
更新2:我已经setprop log.tag.UsbRequestJNI SUPPRESS
按照这个答案进行了尝试,但令人沮丧的是它对我的设备没有影响。