Java 抑制UsbRequestJNI/ALOGD日志消息

Java 抑制UsbRequestJNI/ALOGD日志消息,java,android,usbserial,android-usb,Java,Android,Usbserial,Android Usb,我正在开发一个Android应用程序,它可以从一些定制硬件中传输串行数据。我正在使用mik3y的库在OTG模式下通过USB获取串行数据,经过一些调整后工作正常 但是,对于USB接口上的每个事务,UsbRequestJNI都会记录一条init和close消息。这使得LogCat每秒有数千条日志消息(请注意时间戳): 我知道我可以在IDE中过滤这些,但我想阻止它们,这样它们就不会占用调试器的带宽 据我所知,UsbRequestJNI是一个操作系统提供的JNI库,所以我不能只编辑源代码。那么,我如何告

我正在开发一个Android应用程序,它可以从一些定制硬件中传输串行数据。我正在使用mik3y的库在OTG模式下通过USB获取串行数据,经过一些调整后工作正常

但是,对于USB接口上的每个事务,
UsbRequestJNI
都会记录一条
init
close
消息。这使得LogCat每秒有数千条日志消息(请注意时间戳):

我知道我可以在IDE中过滤这些,但我想阻止它们,这样它们就不会占用调试器的带宽

据我所知,
UsbRequestJNI
是一个操作系统提供的JNI库,所以我不能只编辑源代码。那么,我如何告诉它停止记录这些调试消息,同时仍在运行调试构建,以便查看其他相关的调试信息呢

谷歌搜索只产生了一个问题,这基本上是相同的问题,但没有适用于这里的解决方案

(我的开发设备运行的是安卓4.3,我正在安卓Studio 1.0.1上开发)

更新:仅针对UsbRequest,相关行为ALOGD STANTIONS(第45行和第71行)。所以我想问题是:如何抑制ALOGD消息


更新2:我已经尝试了
setprop log.tag.UsbRequestJNI根据抑制
,但令人沮丧的是,它对我的设备没有任何影响。

我自己用mik3y的android usb串行软件包就可以做到这一点。我可以通过禁用异步读取来解决这个问题。更改此行:

mEnableAsyncReads=(Build.VERSION.SDK\u INT>=Build.VERSION\u code.JELLY\u BEAN\u MR1)

全文如下:

mEnableAsyncReads=false


此时有许多针对mik3y代码的打开拉取请求,也许这些请求已经在fork中修复了?请参见

了解后续信息,这些消息似乎来自UsbRequest initialize()和close()方法,因此,通过重用UsbRequest对象而不是创建新对象,主要解决了此问题,可能还会略微提高性能。

查看链接后,我开始怀疑你可能会通过重新使用USB请求来解决这个问题。进一步搜索发现,在phidgets驱动程序的变更日志中,有人提到正是出于这个原因才这样做的。因此,如果你想继续找出如何做到这一点,这似乎是以前做过的,据称是有效的。谢谢你的评论@chris。在这种情况下,似乎除了过度登录的问题,驱动程序(至少在我的特定硬件上)太多的bug和不可靠,所以我已经从Android切换到标准PC硬件。谢谢你!这很好,不过我想知道使用这种方法是否还有其他问题(性能方面)+1谢谢!这是两种完全不同的方法,你不能只是从一种切换到另一种。对于串行端口,您必须使用UsbRequest/requestWait,而不是bulkTransfer,否则您将获得垃圾数据
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