全部开发者教程

Android 模拟器的安装及管理

在前一小节中,我们创建了第一个应用,用到了 Android 模拟器来运行应用。本节课程就详细介绍下如何安装模拟器组件,如何创建和管理虚拟设备。

Android 模拟器可在计算机上模拟 Android 设备,这样我们就可以在各种设备上以及各个 Android API 级别测试我们的应用,而无需拥有每个物理设备。模拟器几乎可以提供真正的 Android 设备所具备的所有功能。我们可以模拟来电和短信、指定设备的位置、模拟不同的网速、模拟旋转及其他硬件传感器、访问 Google Play 商店,等等。

1. 安装模拟器

1.1 硬件配置要求

Android 模拟器除了需要满足 Android Studio 的基本系统要求之外,还需要满足下述其他要求:

  • SDK Tools 26.1.1 或更高版本;
  • 64 位处理器;
  • HAXM 6.2.1 或更高版本(建议使用 HAXM 7.2.0 或更高版本)。

要在 Windows 和 Linux 上使用硬件加速,还需要满足以下其他要求:

  • 在 Windows 或 Linux 上搭载 Intel 处理器:Intel 处理器需要支持 Intel VT-x、Intel EM64T (Intel 64) 和 Execute Disable (XD) Bit 功能;
  • 在 Linux 上搭载 AMD 处理器:AMD 处理器需要支持 AMD 虚拟化 (AMD-V) 和 Supplemental Streaming SIMD Extensions 3 (SSSE3)
  • 在 Windows 上搭载 AMD 处理器:需要 Android Studio 3.2 或更高版本以及 2018 年 4 月发布的支持 Windows Hypervisor Platform (WHPX) 功能的 Windows 10 或更高版本。

如需与 Android 8.1(API 级别 27)及更高版本的系统映像配合使用,连接的摄像头必须能够捕获 720p 的帧。

1.2 安装模拟器组件

要安装 Android 模拟器,就是在 SDK ManagerSDK Tools 标签页中选择 Android Emulator 组件。
请按如下步骤操作:

  1. 在 Android Studio 中依次点击 Tools > SDK Manager

图片描述

  1. 切换到 SDK Tools 页,勾选 Android Emulator

图片描述

  1. 点击 OK 完成安装。

2. 创建和管理虚拟设备 (AVD)

Android 虚拟设备 (AVD) 是一种配置,用于定义在 Android 模拟器中模拟的 Android 手机、平板电脑、Wear OS、Android TV 或 Android Automotive OS 设备的特性。虚拟设备的创建和管理等都通过 AVD Manager 来操作。

2.1 关于 AVD

AVD 包含硬件配置文件、系统映像、存储区域、其他属性。

硬件配置文件

硬件配置文件定义了设备出厂时的特性。AVD Manager 预加载了特定的硬件配置文件,如 Pixel 设备,我们可以根据需要定义或自定义硬件配置文件。只有部分指定的硬件配置文件包括 Play 商店。这表明这些配置文件完全符合 CTS 规范,并且可以使用包含 Play 商店应用的系统映像。

系统映像

标有 Google API 的系统映像具有对 Google Play 服务的访问权限。Play Store 列中带有 Google Play 徽标的系统映像包含 Google Play 商店应用并且具有对 Google Play 服务的访问权限,Extended controls 对话框中会显示 Google Play 标签页,其中提供了一个方便的按钮,用于在设备上更新 Google Play 服务。

为确保应用安全并且与物理设备的体验一致,包含 Google Play 商店的系统映像已使用发布密钥签名,这意味着,我们无法获得这些映像的 root 权限。如果想要求使用 root 权限 (root) 来帮助排查应用问题,则可以使用不包含 Google 应用或服务的 Android 开源项目 (AOSP) 系统映像。

存储区域

AVD 在开发计算机上具有专用的存储区域。AVD 存储设备用户数据,如已安装的应用和设置以及模拟 SD 卡。我们可以根据需要使用 AVD Manager 擦除用户数据,以便相应设备具有与新设备相同的数据。

2.2 创建 AVD

Android Studio 要创建新的 AVD,请执行以下操作:

  1. 依次点击 Tools > AVD Manager 以打开 AVD Manager;

图片描述

  1. 点击 AVD Manager 对话框底部的 Create Virtual Device,系统会显示 Select Hardware 页面;

图片描述

Tips:请注意,只有部分指定的硬件配置文件包括 Play Store。这表明这些配置文件完全符合 CTS 规范,并且可以使用包含 Play 商店应用的系统映像。如果未看到自己所需的硬件配置文件,则可以创建或导入一个硬件配置文件。

  1. 选择硬件配置文件,然后点击 Next,系统会显示 System Image 页面;

图片描述

TipsRecommended 标签页会列出推荐的系统映像。其他标签页包含更完整的列表。右侧窗格描述了选定的系统映像。x86 映像在模拟器中运行速度最快。如果看到系统映像旁边的 Download,则需要点击以下载系统映像,必须连接到互联网才能下载。

  1. 选择针对特定 API 级别的系统映像,然后点击 Next

图片描述

Tips:点击 Show Advanced Settings 以显示更多设置,如皮肤等。

  1. 根据需要更改 AVD 属性,然后点击 Finish,完成虚拟设备的创建。

2.3 关于硬件配置文件

AVD Manager 会为常见设备提供预定义的硬件配置文件,这样我们就可以轻松地将其添加至我们的 AVD 定义中。如果我们需要定义不同的设备,则可以创建新的硬件配置文件。我们可以从头定义新的硬件配置文件,也可以复制硬件配置文件。预定义的硬件配置文件无法修改。

2.3.1 创建硬件配置文件

请执行以下操作:

  1. Select Hardware 页面中,点击 New Hardware Profile 或者 Clone Device

  2. Configure Hardware Profile 页面中,根据需要更改硬件配置文件属性;

图片描述

  1. 点击 Finish

2.3.2 硬件配置文件属性

硬件配置文件属性 说明
设备名称 硬件配置文件的名称。名称可以包含大小写字母、从 0 至 9 的数字、英文句点 (.)、下划线 (_)、半角括号 ( () ) 和空格。存储硬件配置文件的文件的名称来自硬件配置文件名称。
设备类型 选择下列其中一项:手机/平板电脑、Wear OS、Android TV、Chrome 操作系统设备、Android Automotive
屏幕尺寸 屏幕的实际尺寸(以英寸为单位),按照对角线测量。如果尺寸大于计算机屏幕,启动时尺寸会缩小。
屏幕分辨率 输入宽度和高度(以像素为单位)以指定模拟屏幕上的总像素数。
圆形 如果设备(如 Wear OS 设备)采用圆形屏幕,请选择此选项。
内存:RAM 输入设备的 RAM 大小,然后选择以下单位之一:B(字节)、KB(千字节)、MB(兆字节)、GB(千兆字节)或者 TB(太字节)。
输入:具有硬件按钮 如果我们的设备具有硬件导航按钮,请选择此选项。如果这些按钮仅在软件中实现,请取消选择此选项。如果选择此选项,屏幕上将不会显示按钮。无论是哪种情况,都可以使用模拟器侧面板“按”这些按钮。
输入:具有硬件键盘 如果设备具有硬件硬盘,请选择此选项。如果没有,请取消选择此选项。如果选择此选项,屏幕上将不会显示键盘。无论是哪种情况,都可以使用计算机键盘向模拟器发送按键。
导航样式 选择下列其中一项:None - 无硬件控件。通过软件导航、D-pad - 方向键支持、Trackball、Wheel。
支持的设备状态 选择一个或两个选项:Portrait - 纵向跨度大于宽度、Landscape - 横向跨度大于高度。
相机 要启用相机,请选择一个或两个选项:Back-Facing Camera - 镜头背对用户、Front-Facing Camera - 镜头朝向用户。
传感器:加速度计 如果设备具有可以帮助确定其方向的硬件,请选择此选项。
传感器:陀螺仪 如果设备具有可以检测旋转或扭动的硬件,请选择此选项。与加速度计结合使用时,陀螺仪可以更顺畅地检测方向和支持六轴方向系统。
传感器:GPS 如果设备具有支持全球定位系统 (GPS) 卫星导航系统的硬件,请选择此选项。
传感器:近程传感器 如果设备具有可以检测通话过程中设备靠近脸部时停用从屏幕输入的硬件,请选择此选项。
默认皮肤 选择一款可以控制设备在模拟器中显示样式的皮肤。请记住,指定相对于分辨率而言尺寸过大的屏幕意味着屏幕画面会被切断,将无法看到完整的屏幕。

2.4 关于 AVD 属性

我们可以在 Verify Configuration 页面中为 AVD 配置指定以下属性。AVD 配置指定了开发计算机与模拟器之间的交互,以及我们想要在硬件配置文件中替换的属性。AVD 配置属性可替换硬件配置文件属性,而我们在模拟器运行时设置的模拟器属性可以替换前两者。

AVD 属性 说明
AVD 名称 AVD 的名称。名称可以包含大小写字母、从 0 至 9 的数字、英文句点 (.)、下划线 (_)、半角括号 ( () )、短划线 (-) 和空格。存储 AVD 配置的文件的名称来自 AVD 名称。
AVD ID AVD 文件名来自 ID,您可以使用该 ID 从命令行引用 AVD。
硬件配置文件 点击 Change 可以在 Select Hardware 页面中选择其他硬件配置文件。
系统映像 点击 Change 可以在 System Image 页面中选择其他系统映像。需要有效的互联网连接才能下载新映像。
启动方向 为初始模拟器方向选择一个选项:Portrait - 纵向跨度大于宽度、Landscape - 横向跨度大于高度。
相机 要启用相机,请选择一个或两个选项:Front - 镜头背对用户、Back - 镜头朝向用户。
网络:速度 选择网络协议以确定数据传输的速度:GSM、HSCSD、GPRS、EDGE等
网络:延迟 选择网络协议以设置协议将数据包从一点传输至另一点所需的时间(延迟)。
模拟性能:图形 选择图形在模拟器中的渲染方式:Hardware(Automatic)、Software(软件模拟)、Automatic(由模拟器决定)
模拟性能:启动选项 Cold boot - 每次从设备关闭状态开机时启动设备、Quick boot - 从保存的快照中加载设备状态来启动设备。
模拟性能:多核 CPU 选择计算机上您要用于模拟器的处理器内核数量。使用更多的处理器内核可加快模拟器的运行速度。
内存和存储:RAM 设备上的 RAM 量,增加 RAM 大小会占用计算机更多的资源。
内存和存储:虚拟机堆 虚拟机堆大小。
内存和存储:内部存储 设备上可用的不可移动内存空间的大小。
内存和存储:SD 卡 设备上可用于存储数据的可移动内存空间的大小。
设备框架:启用设备框架 选择此选项可以在模拟真实设备外观的模拟器窗口周围启用框架。
自定义皮肤定义 选择一款可以控制设备在模拟器中显示样式的皮肤。
键盘:启用键盘输入 如果要使用硬件键盘与模拟器进行交互,请选择此选项。

3. 小结

本节课程我们主要学习了 Android 模拟器的安装、创建和管理。本节课程的重点是:能够按照自己的要求完成虚拟设备的创建