如何用命令行抓取Systrace
预备环境
- Android SDK
- 首先需要安装配置好Android SDK
- Python环境
- 从如下链接下载Python安装程序
https://www.python.org/downloads/windows/
注意,由于SDK中的python脚本不支持3.x后的版本,建议下载如下版本

-
- 安装完成后、需要配置环境变量如下(根据个人安装路径来配置)

-
- 需要安装pywin32模块(解决:ImportError: No module named 'win32com'报错),在Python安装、配置完成之后,在命令行中敲入如下命令进行安装:

- 设备连接电脑、adb root \adb remount 成功。
抓取systrace
方法1:直接用python脚本命令抓取systrace
-
- 进入SDK中systrace.py脚本的路径

-
- Shift + 鼠标右键,打开Powershell窗口

-
- 在Powershell窗口中敲入如下命令即可抓取Systrace

python systrace.py --time=10 -b 48000 -o systrace.html gfx view wm am
其中:-time表示抓取的时长,-b表示buffer size,-o表示输出的文件名,gfx\view\wm\am\等表示要抓取Systrace的Module的名字。具体还有一些其它参数请自行百度。
-
- 生成的systrace.html文件在systrace.py脚本所在的路径中

方法2: adb命令抓取Systrace、并用python脚本转换为html
-
- adb root
- adb remount
- adb shell
- 执行如下命令:
atrace -z -b 96000 gfx input view wm am hal res dalvik rs sched freq idle disk mmc -t 15 > /data/local/tmp/trace_output

敲入命令之后,开始复现问题,等抓取的时长到了之后会自动退出。
命令的含义如之前的说明,其中输出的trace raw data在手机的/data/local/tmp/trace_output文件中
-
- 将trace_output pull出来,拷贝到systrace.py脚本的路径下面。

-
- Shift + 鼠标右键,打开Powershell窗口,输入如下命令将trace_output转换成可以用Chrome浏览器查看的output.html。

python systrace.py --from-file trace_output -o output.html
-
- 输出的output.html就是我们要的systrace文件。


本文介绍了如何在命令行环境下抓取Android系统的Systrace。首先确保安装了Android SDK和Python 2.x,并配置好环境变量。接着,通过adb root和adb remount获取设备权限。抓取Systrace有两种方法:1) 直接运行python脚本`systrace.py`,指定时间、缓冲区大小和模块;2) 使用adb命令收集原始数据,然后用`systrace.py`转换为HTML。最终生成的HTML文件可用于分析性能。

1152

被折叠的 条评论
为什么被折叠?



