我是做RN开发的,要经常启动安卓模拟器来测试。时间久了,Android Studio
成安卓模拟器启动器了。每次打开AS还是挺久的,所以就想直接通过命令行来启动安卓模拟器,这样会快很多。
Android SDK 包含一个 Android 设备模拟器,这是一台在您的计算机上运行的虚拟设备。有了 Android 模拟器,在您开发和测试 Android 应用时就不需要使用实体设备。
本页面介绍了可与 Android 模拟器一起使用的命令行功能。 如需了解如何使用 Android 模拟器界面,请参阅在 Android 模拟器上运行应用。
获取模拟器列表如需查看 AVD 名称的列表,请输入以下命令:
emulator -list-avds
比如,我这边的执行结果如下:
emulator -list-avds
Pixel_2_API_3
也就是说明,我这边有一个名为Pixel_2_API_3
的AVD
使用此选项时,系统会显示 Android 主目录中的 AVD 名称列表。请注意,您可以通过将 ANDROID_SDK_HOME 环境变量设为以下目录来替换默认主目录:一个存储了所有配置和 AVD 内容的用户专属目录的根目录。您可以在启动虚拟设备之前在终端窗口中设置该环境变量,也可以通过操作系统中的用户设置进行设置;例如,在 Linux 上的 .bashrc 文件中。
如需停止 Android 模拟器,关闭模拟器窗口即可。
命令行运行 启动模拟器除了在运行的项目中启动模拟器或通过 AVD 管理器启动模拟器,您还可以使用 emulator 命令启动模拟器。
以下是从终端提示符启动虚拟设备的基本命令行语法:
emulator -avd avd_name [ {-option [value]} … ]
或
emulator @avd_name [ {-option [value]} … ]
我这里是macOS中运行,其他操作系统应该是类似的。
#进入安卓模拟器的目录
cd ~/Library/Android/sdk/emulator/
#运行安卓模拟器Pixel_2_API_30替换成你自己的AVD名称即可
emulator -avd Pixel_2_API_30 -netdelay none -netspeed full
或者这样打开
~/Library/Android/sdk/emulator/emulator -avd Pixel_2_API_30 -netdelay none -netspeed full
注意: 如果你直接执行emulator -avd Pixel_2_API_30 -netdelay none -netspeed full
可能会出现报错的情况,因为有可能path中的emulator命令可能指向的是~/Library/Android/sdk/tools/emulator
,所以要在PATH中把~/Library/Android/sdk/emulator/emulator
优先级提前才可以直接运行。
每次要命令行中输入这些指令,还是会感觉太麻烦了,而且有时一不小心关闭了终端也导致模拟器会关闭。我的解决办法如下: 使用macOS自带的“自动操作”程序,创建一个应用程序就行了。 保存到应用程序文件夹就可以了。这样启动起来就会方便很多。
2022年10月21日更新 最近在Linux中开发android了,在linux的中的方法与macOS基本相同。 我的.zshrc中的配置如下:
# 如果你不是通过Android Studio安装的sdk,则其路径可能不同,请自行确定清楚。
export ANDROID_SDK_ROOT=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator
export PATH=$PATH:$ANDROID_SDK_ROOT/tools
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
#解决模拟器打不开的问题,解决path污染,强制放前面
export PATH=$HOME/Android/Sdk/emulator/:$PATH
最后一行是重点。
总结分享就到这里了,如果感觉有帮助的话。点个赞在走吧!
参考https://developer.android.com/studio/run/emulator-commandline?hl=zh-cn