2017-07-17 355 views
6

我试图在运行Lollipop 5.1.1的非根用户的Nexus 4设备上的命令行上使用systrace tool。看来,当我尝试运行,如命令:Systrace'/ sys/kernel/debug/tracing/tracing_on'不存在

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

我有同样的问题,并重新启动我的亚洲开发银行会议为根:

adb root 

说这样做是为了我。