今天試了一下systrace遇到的問題的有點多,記錄一下,以便日后再遇到的時候查找
1. No module named win32con
缺少庫文件
解決:
pip2 install pypiwin32(這里遇到個問題,通過-i 選擇豆瓣源和清華大學源下載都出現了問題(下好包之后解析異常),直接下載沒有問題,不知道什么情況)
我電腦里也沒有需要的six庫,同理下載就好
2. ValueError: Invalid trace result format for HTML output
解決方案:
https://stackoverflow.com/questions/48606877/systrace-output-error
添加選項:--no-compress
即命令為 python27 E:\Andriod_SDK\platform-tools\systrace\systrace.py -t 10 -o D:\out.html --no-compress
3. 之后又出現了一個問題
exit status: 1
output:
/system/bin/sh: can't create /sys/kernel/debug/tracing/tracing_on: Permission denied
百度了一下,據說是android4.4 和5.1會出現無法使用systrace的問題
https://blog.csdn.net/tzr0330/article/details/82024180
解決方案:
adb root # 獲取adb root權限
4. 執行之后在運行一次systrace.py腳本,卡在Tracing completed. Collecting output...很久,但是最后還是跑了,結果還是報錯
又回到了ValueError: Invalid trace result format for HTML output,懵逼
解決方案:
查到這個 https://stackoverflow.com/questions/48500644/systrace-invalid-trace-result-format-for-html-output (待驗證)
仔細看了一下報錯,中間有一行 Did you forget adb root?
懷疑是adb root 沒弄好,權限問題
重新執行
adb root
adb remount
adb shell mount -o remount rw /
adb shell
還是Collecting output...等了很久,最后終於看到了
Wrote trace HTML file: file://D:\ALOG\out.html
打開瀏覽器把生成的文件拖進去,看了一下,應該沒問題了