为什么通过 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
我有一个应用可以使用以下命令生成 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