运行 android 应用程序内部的 systrace

Running android systrace inside application

我正在尝试开发一个允许用户使用 systrace 记录系统跟踪的应用程序,我希望能够 运行 在常规 Android 应用程序中进行此操作,无需PC或ROOT权限即可使用ADB。

从 Android 9 开始,开发人员选项中有一个 record system traces 的选项,这在没有任何外部工具的情况下在设备上完美运行,但我需要对此有更多的控制,因为我将 运行在一段时间内执行 systrace 命令,然后自动将结果上传到服务器(应用程序中发生的一切)

我可以通过 Android 应用程序执行此操作吗?

我尝试在应用程序中使用 python,然后 运行ning 系统跟踪,但它失败并出现错误,因为它找不到 ADB。

这是不可能的,这是设计使然。系统跟踪数据被视为个人数据,因为它可能包含用户使用的应用程序等信息(所有进程都转储在跟踪中)。当您使用 on-device trace app 时,您会在共享跟踪之前收到确认提示。通过允许自动跟踪上传,它将绕过实施的隐私保护。

p.s。 systrace Python script 只是一些 adb 命令的包装器,因此它应该只是来自 PC 的 运行。