2017-07-17 356 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 

說這樣做是爲了我。