Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在我的Android应用程序中获取Android日志_Java_Android - Fatal编程技术网

Java 在我的Android应用程序中获取Android日志

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

我有一个场景,在这个场景中,我需要以1秒的间隔读取logcat上持续出现的数据。因此,我创建了一个线程来调用这个类方法,但最终出现了如下异常

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" }