如何用命令行抓取Systrace

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

如何用命令行抓取Systrace

预备环境

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

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

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

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

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

 

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

 

抓取systrace

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

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

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

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

      

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

方法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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值