如何用命令行抓取Systrace

如何用命令行抓取Systrace

预备环境

  1. Android SDK
    1. 首先需要安装配置好Android SDK
  2. Python环境
    1. 从如下链接下载Python安装程序

https://www.python.org/downloads/windows/

注意,由于SDK中的python脚本不支持3.x后的版本,建议下载如下版本

如何用命令行抓取Systrace_第1张图片

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

如何用命令行抓取Systrace_第2张图片

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

如何用命令行抓取Systrace_第3张图片

 

  1. 设备连接电脑、adb root \adb remount 成功。

 

抓取systrace

方法1:直接用python脚本命令抓取systrace

    1. 进入SDK中systrace.py脚本的路径

如何用命令行抓取Systrace_第4张图片

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

如何用命令行抓取Systrace_第5张图片

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

如何用命令行抓取Systrace_第6张图片

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的名字。具体还有一些其它参数请自行百度。

      

    1. 生成的systrace.html文件在systrace.py脚本所在的路径中

如何用命令行抓取Systrace_第7张图片

方法2: adb命令抓取Systrace、并用python脚本转换为html

    1. adb root
    2. adb remount
    3. adb shell
    4. 执行如下命令:

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

如何用命令行抓取Systrace_第8张图片

敲入命令之后,开始复现问题,等抓取的时长到了之后会自动退出。

命令的含义如之前的说明,其中输出的trace raw data在手机的/data/local/tmp/trace_output文件中

    1. 将trace_output pull出来,拷贝到systrace.py脚本的路径下面。

如何用命令行抓取Systrace_第9张图片

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

如何用命令行抓取Systrace_第10张图片

python systrace.py --from-file trace_output -o output.html

    1. 输出的output.html就是我们要的systrace文件。

如何用命令行抓取Systrace_第11张图片

如何用命令行抓取Systrace_第12张图片

参考文档:https://www.jianshu.com/p/79e89a414b92

你可能感兴趣的:(Android)