第3章 Systrace工具安装与配置:跨平台实战指南
Systrace这玩意儿,说白了就是系统性能追踪器。但你得先把它请进家门,才能让它干活。这一章,我们就把Windows、macOS、Linux三平台的安装捋一遍,顺便把Android SDK环境也拾掇好。我当年第一次配这环境,愣是在mac上折腾了两个小时——后来发现就是少装了一个platform-tools。
3.1 整体安装逻辑
Systrace本身不是个独立应用。它藏在Android SDK的platform-tools里。所以整个安装链条其实是:装SDK → 配环境变量 → 验证可用。你想想看,如果SDK都没装对,后面的所有操作都是空中楼阁。
3.2 Windows下的安装
说起来,Windows反而是最省心的。你只要去官网下个安装包就行。不过要注意:千万别用中文路径。我有个同事C盘用户名是中文,结果SDK管理器直接崩了。
3.2.1 安装步骤
- 访问
developer.android.com/studio,下载Command line tools - 解压到
C:\Android\cmdline-tools - 运行
sdkmanager --list查看可用包 - 安装platform-tools和build-tools
C:\Android\Sdk,然后创建系统环境变量 ANDROID_HOME。
3.2.2 环境变量配置
打开系统环境变量设置,新建:
变量名:ANDROID_HOME
变量值:C:\Android\Sdk
然后在PATH里追加:
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\cmdline-tools\latest\bin
为什么要配两个?platform-tools是给adb用的,cmdline-tools是给sdkmanager用的。我之前只配了platform-tools,结果跑systrace时提示找不到sdkmanager——后来才明白,这俩各管各的。
3.3 macOS下的安装
macOS用户,我个人建议用Homebrew。虽然官网也有手动安装方式,但brew能帮你把依赖全搞定。我在M1芯片上踩过一个坑:默认安装的sdkmanager是x86版本,跑起来奇慢无比。
3.3.1 推荐安装方式
# 先装Homebrew(如果还没装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 然后安装Android SDK
brew install --cask android-sdk
# 手动安装platform-tools
brew install android-platform-tools
3.3.2 环境变量配置(zsh用户)
编辑 ~/.zshrc,加入:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools/bin
然后运行 source ~/.zshrc 让配置生效。记得用 adb version 验证一下。
3.4 Linux下的安装
Linux环境其实最接近服务器场景。你想想看,很多CI/CD流水线都在Linux上跑的。我一般用Ubuntu做演示,但CentOS也大同小异。
3.4.1 安装步骤
- 下载Command line tools
- 解压到
/opt/android-sdk - 用sdkmanager安装必要组件
# 下载(注意版本号可能变化)
wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
# 解压
unzip commandlinetools-linux-*.zip -d /opt/android-sdk
# 安装platform-tools
/opt/android-sdk/cmdline-tools/bin/sdkmanager "platform-tools" "platforms;android-33"
3.4.2 环境变量(bash用户)
编辑 ~/.bashrc,加入:
export ANDROID_HOME=/opt/android-sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
3.5 Android SDK关键组件版本要求
Systrace本身对SDK版本有一定要求。特别是Android 12之后的设备,需要较新的platform-tools。下面这个表建议大家收藏一下:
| 组件名称 | 最低版本 | 推荐版本 | 备注 |
|---|---|---|---|
| platform-tools | 30.0.0 | 34.0.5 | adb版本直接影响systrace |
| build-tools | 30.0.0 | 34.0.0 | 不一定需要,但建议装 |
| platforms | android-28 | android-34 | 至少装一个API Level |
| cmdline-tools | 5.0 | 8.0 | 新版sdkmanager必须 |
adb devices 和 systrace --list-tags,那环境就算配好了。如果哪个命令报错,按照上面的表逐条排查。
3.6 验证安装是否成功
环境配好后,别急着高兴。先做两步验证:
3.6.1 验证adb连接
adb devices
# 正常输出应该看到:
# List of devices attached
# 设备序列号 device
3.6.2 验证systrace本身
systrace --list-tags
# 你会看到类似这样的列表:
# am (Activities)
# am_ur (ActivityManager UserRecent)
# audio (Audio)
# bionic (Bionic libc)
# camera (Camera)
# ...
systrace: command not found。别慌,去检查PATH环境变量。我曾经检查了三次才发现——原来是我把platform-tools路径拼错了,少写了一个"s"。
嗯,到这里环境就齐活了。你可以放心去抓trace了。记住:环境配不好,后面全白搞。这个道理,干过几年Android的都懂。