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

Why is logcat through ADB different from the system 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 -d -v time -t 1620059528.0 *:W");

这是否仅打印 运行ning 包中的 logcat?

是的,出于安全原因,自 Android 4.1 起,应用只能访问自己的日志。

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

adb shell pm grant <pkg> android.permission.READ_LOGS