Java 在我的Android应用程序中获取Android日志
我有一个场景,在这个场景中,我需要以1秒的间隔读取logcat上持续出现的数据。因此,我创建了一个线程来调用这个类方法,但最终出现了如下异常Java 在我的Android应用程序中获取Android日志,java,android,Java,Android,我有一个场景,在这个场景中,我需要以1秒的间隔读取logcat上持续出现的数据。因此,我创建了一个线程来调用这个类方法,但最终出现了如下异常 Working Directory: null Environment: null 我已经添加了类似的权限 <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.per
Working Directory: null Environment: null
我已经添加了类似的权限
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
需要读取的确切日志是
如何打印相同的数据?您可以使用
String[] cmd = new String[] {"logcat", "-d", "Keymaster:V *:S" }
但是,如果您需要自己的日志,我建议您只使用自己的日志记录器
作为
这对我来说太无礼了
您可以根据需要使用特定的本地记录器。
或者使用visualizer表单的普通记录器我认为您应该使用
logcat-d
,否则进程永远不会停止,我得到java.io.IOException:Error running exec()。Command:[logcat-d]工作目录:null环境:null您的设备是否有根?是的,它有根吗?我正在处理Eng Build我尝试了您要求的cmd,得到了06-24 12:00:48.304:E/(30012):而true-----开始于/dev/log/main 06-24 12:00:49.281:E/(30012):Null我在应用程序UI上需要的那些日志不是来自我的应用程序,而是来自我的应用程序的基本库。我没有访问生成消息的侦听器的权限,所以我现在正在做一个解决方案,您可以从应用程序中获取任何信息,也可以从您使用的其他LIB中获取本机日志。但是,如果您阅读其他应用程序的日志,那么在android>=4.1上您就无法真正做到这一点,除非您拥有根设备、开发/工程构建,您的应用程序位于系统分区中,或者您弄乱了设备上的权限或道具。您可以尝试使用反射来钩住这些日志。您使用的这个键盘控制库是什么?好的,这个库提供了将我的显示电源延迟到规定秒的功能。我唯一的任务是在UI中显示此计数器,而不显示其他内容。
String[] cmd = new String[] {"logcat", "-d", "Keymaster:V *:S" }