Android 为什么通过ADB的logcat与系统logcat不同?

Android 为什么通过ADB的logcat与系统logcat不同?,android,adb,logcat,Android,Adb,Logcat,我有一个使用以下命令生成logcat的应用程序: logcat -d -v time -t 1620059528.0 *:W 但是,它的输出与我从控制台通过运行完全相同的命令时得到的输出不同 adb logcat -d -v time -t 1620059528.0 *:W 日志在不同的时间开始,一个比另一个大得多,输出不同 为什么会这样?在这里运行Android 11 编辑:我正在给logcat打电话 Process process = Runtime.getRuntime().exec

我有一个使用以下命令生成logcat的应用程序:

logcat -d -v time -t 1620059528.0 *:W
但是,它的输出与我从控制台通过运行完全相同的命令时得到的输出不同

adb logcat -d -v time -t 1620059528.0 *:W
日志在不同的时间开始,一个比另一个大得多,输出不同

为什么会这样?在这里运行Android 11

编辑:我正在给logcat打电话

 Process process = Runtime.getRuntime().exec("logcat -d -v time -t 1620059528.0 *:W");

这是否只打印运行包中的日志猫?

是的,由于安全原因,自Android 4.1以来,应用程序只能访问自己的日志

这在中进行了扩展,其中还提到,如果您拥有以下设备,您可以(据称,在2013年)获得完整的设备日志访问权限:

adb shell pm grant <pkg> android.permission.READ_LOGS
adb shell pm授予android.permission.READ_日志