我尝试在运行Lollipop 5.1.1的非root用户Nexus 4设备上使用命令行上的systrace tool。当我尝试运行诸如:
之类的命令时,似乎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 exist\n",)
...
...
- adb: error: remote object '/sys/kernel/debug/tracing/tracing_on' does not exist
但是,当我使用adb命令时:
adb shell /sys/kernel/debug/tracing/
我可以确认该文件' tracing_on'存在。
虽然,systrace工具在Android设备监视器上运行良好。我想使用命令行的原因是因为我想以编程方式调用该工具来分析我的应用程序。
当我尝试在其他设备(如Oneplus 3或Samsung Galaxy s6)上运行完全相同的命令时,该工具可以正常工作,并且能够生成html文件。它只是在这个设备和三星galaxy s4产生相同的错误。
感谢任何帮助。
答案 0 :(得分:0)
我遇到了同样的问题,并以root身份重新启动了我的adb会话:
adb root
为我做了这件事。