Mac 命令行开启 Android emulator

背景 & 目标

在 M 系列处理器上,目前一直没有比较好的模拟器,只有 谷歌 官方提供的 emulator,但是平时打开都需要进入 Android Studio,比较麻烦,因此本文章会记录命令行的配置过程

SDK & AVD

正常我们第一次安装 Android Studio 时,都会提示下载 Android SDK,这个目录大概长这个样子

这个路径一般是自己选的

.
├── build-tools
├── emulator
├── licenses
├── ndk
├── patcher
├── platform-tools
├── platforms
├── skins
├── sources
├── system-images
└── tools

但是涉及到模拟器运行时,就需要使用 AVD,这个目录在 Mac 下默认为 ~/.android,大概长这样

├── adb_usb.ini
├── adbkey
├── adbkey.pub
├── analytics.settings
├── avd
├── build-cache
├── build-cache.lock
├── cache
├── debug.keystore
├── debug.keystore.lock
├── emu-last-feature-flags.protobuf
├── emu-update-last-check.ini
├── maps.key
└── modem-nv-ram-5554

如果你环境中没有这个目录,可以在 Android Studio 中打开 Device Manager 然后按照 UI 提示创建一个新的设备即可

环境变量

这里要涉及到 emulatorSDKAVD 三个部分的配置,以我的环境为例

# 设置 emulator 别名
alias emulator="/Users/xxx/AndroidSDK/emulator/emulator"
# SDK 路径
export ANDROID_HOME="/Users/xxx/AndroidSDK"
# AVD 路径
export ANDROID_SDK_HOME="/Users/xxx/.android"

命令行使用

首先,通过 -list-avds 来查看当前安装了那些 AVD,我这里安装的是 Pixel_7_Pro_API_31

emulator -list-avds
Pixel_7_Pro_API_31

因此实际调用时,你需要自行替换 AVD 的名字

emulator -avd Pixel_7_Pro_API_31 -netdelay none -netspeed full

最后依然可以使用 alias 来简化这个命令

alias emupixel="/Users/xxx/AndroidSDK/emulator/emulator -avd Pixel_7_Pro_API_31 -netdelay none -netspeed full"

这样只需要在命令行敲 emupixel 就可以直接打开模拟器了~