我希望能够获取整个设备的日志,就像logcat显示设备中正在运行的进程一样。 我希望能够在我的Android应用程序内捕获它。
我希望能够获取整个设备的日志,就像logcat显示设备中正在运行的进程一样。 我希望能够在我的Android应用程序内捕获它。
您的应用程序需要使用权限 android.permission.READ_LOGS。(不确定是否适用于未Root的设备)。
您需要在运行时授予应用程序访问此权限:
adb shell pm grant <pkg> android.permission.READ_LOGS
或通过编程方式实现:
Runtime.getRuntime().exec("pm grant <pkg> android.permission.READ_LOGS");
然后,您可以使用shell命令获取系统日志。例如,要将logcat转储为设备上的txt文件:
Runtime.getRuntime().exec("logcat -d -f" + " /sdcard/Logcat_file.txt");
将会把日志保存在Android设备的txt文件中,进而进行进一步验证。