我正在尝试在运行Lollipop 5.1.1的无根Nexus 4设备上的命令行上使用systrace工具。似乎当我尝试运行以下命令时:
systrace.py --time=4 -o testtrace.html sched app freq idle load
我收到以下错误:
CRITICAL:root:(TimeoutThread-1-for-Thread-1) Exception on ReadFile(01a599f5919448ea,
/sys/kernel/debug/tracing/tracing_on, retries=3, timeout=30),
attempt 1 of 4: AdbCommandFailedError("(device: 01a599f5919448ea) adb pull
/sys/kernel/debug/tracing/tracing_on /var/folders/dj/xq_jq3wx6hg9gzw5r9svkmr00000gn/T/tmpGxH9ji/tmp_ReadFileWithPull:
failed with exit status 1 and output:n- adb: error: remote object '/sys/kernel/debug/tracing/tracing_on' does not existn",)
...
...
- adb: error: remote object '/sys/kernel/debug/tracing/tracing_on' does not exist
但是,当我使用 adb 命令时:
adb shell /sys/kernel/debug/tracing/
我可以确认文件"tracing_on"存在。
虽然,系统跟踪工具在Android设备监视器上确实可以正常工作。我想使用命令行的原因是我想以编程方式调用该工具来分析我的应用程序。
当我尝试在其他设备(例如Oneplus 3或三星Galaxy s6(上运行完全相同的命令时,该工具运行良好,并且能够生成html文件。它只是在此设备和三星Galaxy s4上生成相同的错误。
任何帮助,不胜感激。
我遇到了同样的问题,并以 root 身份重新启动了我的 adb 会话:
adb root
这为我做到了。