在 Android Emulator 上运行应用
Android Emulator 可以模拟设备并将其显示在您的开发计算机上。利用该模拟器,您可以对 Android 应用进行原型设计、开发和测试,无需使用硬件设备。模拟器支持 Android 电话、平板电脑、Android Wear 和 Android TV 设备,并随附一些预定义的设备类型,便于您快速上手。您可以创建自己的设备定义和模拟器皮肤。
Android Emulator 运行速度快,功能强大且丰富。模拟器传输信息的速度要比使用连接的硬件设备传输快,从而可以加快开发流程。多核特性让模拟器可以充分利用开发计算机上的多核处理器,进一步提升模拟器性能。
关于 Android Emulator
您可以在运行项目时在模拟器上启动应用,也可以将 APK 文件拖动到模拟器上,安装应用。与在硬件设备上一样,将应用安装到虚拟设备后,它将一直保持安装状态,直至您将其卸载或替换。如果需要,您可以测试多个应用(例如您自己的应用或系统应用)彼此之间的协作方式。
众多功能可以助您测试应用
您可以与模拟器互动,就像与硬件设备互动一样,只不过是使用鼠标与键盘、模拟器按钮和控件。模拟器支持虚拟硬件按钮和触摸屏,包括双指操作,以及方向键 (D-pad)、轨迹球、方向轮和各种传感器。您可以根据需要动态调整模拟器窗口的大小、缩小放大、更改屏幕方向,甚至截图。
当您在模拟器上运行应用时,它可以使用 Android 平台的服务调用其他应用、访问网络、播放音频和视频、接受音频输入、存储和检索数据、通知用户,以及渲染图形转换和主题。利用模拟器的控件,您可以轻松发送来电和短信、指定设备的位置、模拟指纹扫描、指定网络速度和状态,以及模拟电池属性。模拟器可以模拟 SD 卡和内部数据存储;您可以将文件(例如图形或数据文件)拖动到模拟器上进行存储。
观看下面的视频,快速地概括了解模拟器的部分功能。
Android Virtual Device 配置
模拟器使用 Android Virtual Device (AVD) 配置确定被模拟设备的外观、功能和系统映像。利用 AVD,您可以定义被模拟设备特定的硬件方面,也可以创建多个配置来测试不同的 Android 平台和硬件排列。
每个 AVD 都可以作为一台独立的设备工作,并拥有专用的用户数据存储空间、SD 卡,等等。当您使用 AVD 配置启动模拟器时,它会从 AVD 目录自动加载用户数据和 SD 卡数据。默认情况下,模拟器将用户数据、SD 卡数据和缓存存储在 AVD 目录中。
要创建和管理 AVD,请使用 AVD Manager。
系统映像
Android Emulator 运行完整的 Android 系统堆栈(一直深入至内核级别),此堆栈包含一套预安装的应用(例如拨号器),您可以从自己的应用访问这些应用。创建 AVD 时,您可以选择要在模拟器中运行哪个版本的 Android 系统。
通过 AVD Manager 获得的 Android 系统映像包含适用于 Android Linux 内核、原生库、VM 和各种 Android 软件包(例如 Android 框架和预安装应用)的代码。
依赖项和先决条件
本页面介绍的 Android Emulator 版本具有以下要求:
- Android Studio 2.0 或更高版本
- SDK Tools 25.0.10 或更高版本
- 新创建的 AVD,用于替换 24.0.x 或更低版本模拟器的任何 AVD
- 特定操作所需的活动网络连接,例如测试需要网络连接的应用功能
- 通过 Tools > Android > Enable ADB Integration 启用 ADB 集成
不支持的功能
Android Emulator 支持设备的大多数功能,不过虚拟硬件不包含以下功能:
- WLAN
- 蓝牙
- NFC
- SD 卡插入/弹出
- 连接到设备的耳机
- USB
Android Wear 的手表模拟器不支持“概览”(最近使用的应用)按钮、D-pad 和指纹传感器。
尽管电话和平板电脑的大多数最终用户都倾向于使用较低的 API 级别,但 Android Wear 和 Android TV 用户更愿意使用最新的版本。使用最新版本可以为您带来更好的模拟器使用体验。
在 Android Emulator 中运行应用
您可以从 Android Studio 项目中运行应用。或者,您也可以运行已经安装到模拟器上的应用,就像在设备上运行任何应用一样。
要在您的项目中启动模拟器并运行应用,请执行以下操作:
- 打开一个 Android Studio 项目并点击 Run。
将显示 Select Deployment Target 对话框。 - 如果您在对话框的顶部看到错误或警告消息,请点击链接,纠正问题或者了解更多信息。
No USB devices or running emulators detected 警告表示您当前未运行任何模拟器,或者检测到有硬件设备连接到您的计算机。如果您未将硬件设备连接到计算机或者已经运行模拟器,可以忽略此警告。
不过,您必须修正某些错误才能继续,例如某些 Hardware Accelerated Execution Manager (Intel® HAXM) 错误。
- 在 Select Deployment Target 对话框中,选择一个现有的模拟器定义,然后点击 OK。
如果您未看到想要使用的定义,请点击 Create New Emulator 以启动 AVD Manager。定义新的 AVD 后,在 Select Deployment Target 对话框中点击 OK。
如果您想要将此模拟器定义用作项目的默认设置,请选择 Use same selection for future launches。
模拟器将启动并显示您的应用。
在模拟器中测试您的应用。
您可以使用以下部分中介绍的功能:- 在模拟器中执行基本任务
- 使用扩展控件、设置和帮助
- 要关闭模拟器,请点击 Close 。
模拟器设备会存储已安装的应用,因此,您可以根据需要再次运行。要移除应用,您需要将其卸载。如果您在相同的模拟器上重新运行项目,系统会使用新版本替换应用。
在不运行应用的情况下启动 Android Emulator
要启动模拟器,请执行以下操作:
- 打开 AVD Manager。
- 双击 AVD,或者点击 Run。
将显示 Android Emulator。
在模拟器运行时,您可以运行 Android Studio 项目并选择模拟器作为目标设备。您也可以将一个或多个 APK 拖动到模拟器上进行安装,然后运行这些应用。
屏幕导航
使用计算机鼠标指针可以模仿您的手指在触摸屏上的操作;选择菜单项和输入字段,以及点击按钮和控件。使用您的计算机键盘键入字符和输入模拟器快捷键。
功能 | 说明 |
---|---|
滑动屏幕 | 指向屏幕,按住主鼠标按钮,在屏幕上滑动,然后释放。 |
拖动对象 | 指向屏幕上的某个对象,按住主鼠标按钮,移动对象,然后释放。 |
点按 (触摸) | 指向屏幕,按主鼠标按钮,然后释放。例如,您可以点击某个文本字段以开始输入内容,选择某款应用,或者按某个按钮。 |
点按两次 | 指向屏幕,快速按两次主鼠标按钮,然后释放。 |
触摸并按住 | 指向屏幕上的某个对象,按主鼠标按钮,保持一段时间,然后释放。例如,您可以打开某个对象的选项。 |
键入 | 您可以使用计算机键盘或者模拟器屏幕上弹出的键盘在模拟器中键入内容。例如,选择某个文本字段后,您可以在其中键入内容。 |
按 Ctrl 或 Command (⌘) 可以调出张合手势多点触控界面。鼠标作为第一根手指,鼠标关于锚点对称的点为第二根手指。拖动光标,移动第一个点。 点击鼠标左按钮相当于同时触摸两个点,释放按钮则相当于张开两根手指。 |
在模拟器中执行基本任务
模拟器右侧的面板让您可以执行各种任务。您也可以将文件拖动到模拟器上,安装应用和下载文件。
功能 | 说明 | 键盘快捷键 |
---|---|---|
Close | 关闭模拟器。 | |
Minimize | 将模拟器窗口最小化。 | |
Resize | 像调整任何其他操作系统窗口一样调整模拟器的大小。模拟器将保持适合您的设备的宽高比。 | ⌘↑ 和 ⌘↓ |
Power | 点击可以开启或关闭屏幕。点击并按住可以开启或关闭设备。 | Ctrl + P ⌘P |
Volume Up | 点击可以显示一个滑块控件并将音量调高。再次点击可以进一步调高音量,也可以使用滑块控件更改音量。 | Ctrl + = ⌘= |
Volume Down | 点击可以显示一个滑块控件并将音量调低。再次点击可以进一步调低音量,也可以使用滑块控件更改音量。 | Ctrl + - ⌘- |
Rotate Left | 将电话逆时针旋转 90 度。 | Ctrl + 左箭头 ⌘← |
Rotate Right | 将电话顺时针旋转 90 度。 | Ctrl + 右箭头 ⌘→ |
Take Screenshot | 点击可以对设备进行屏幕截图。默认保存位置为计算机桌面。要更改保存位置,请选择 … > Settings。模拟器将创建一个名为 Screenshot_yyyymmdd-hhmmss.png 的文件,并显示截图的年份、月份、日期、时、分、秒,例如 Screenshot_20160219-145848.png 。 | Ctrl + S ⌘S |
点击,使光标变为缩放图标: - 点击鼠标左键可以放大,增量为 25%,最大可以放大至虚拟设备屏幕分辨率的两倍。 - 点击鼠标右键可以缩小。 - 点击鼠标左键并拖动可以选择要放大的框形区域。 - 点击鼠标右键并拖动出一个选择框可以重置为默认缩放。 - 处于缩放模式时,在按住 Ctrl 键的同时触摸屏幕。 再次点击 Enter Zoom Mode 图标可以返回正常的屏幕尺寸。 | Ctrl + Z ⌘Z 处于缩放模式时: Ctrl + 上箭头 Ctrl + 下箭头 Ctrl + Shift + 上箭头 Ctrl + Shift + 下箭头 Ctrl + Shift + 左箭头 Ctrl + Shift + 右箭头 ⌘↑ 和 ⌘↓ ⇧⌘↑ 和 ⇧⌘↓ ⇧⌘← 和 ⇧⌘→ | |
Back | 返回上一个屏幕,或者关闭对话框、选项菜单、“通知”面板或屏幕上的键盘。 | Ctrl + 退格键 ⌘⌫ |
Home | 返回主屏幕。按住该图标可以打开特定于 API 级别的对象。 | Ctrl + H ⌘⇧H |
Overview (最近使用的应用) | 点按该图标可以打开您最近所使用应用的缩略图列表。要打开某款应用,请点按相应的应用。要从列表中移除某个缩略图,请将相应缩略图向左或向右滑动。Android Wear 不支持此按钮。 | Ctrl + O ⌘O |
菜单 | 键入键盘快捷键可以模拟“菜单”按钮,例如,打开所选应用的菜单。 | Ctrl + M ⌘M |
More | 点击该图标可以访问下一个表格中介绍的其他功能与设置。 | |
安装 APK | 将 APK 文件拖动到模拟器屏幕上。将显示 APK 安装程序对话框。安装完成后,您可以在应用列表中查看应用。如果出现显示“APK failed to install.”的对话框,则说明应用安装失败。 | |
添加文件 | 将任意文件拖动到模拟器屏幕上。文件将保存到 /sdcard/Download 目录中。使用适合 API 级别的方法导航到文件。例如,对于 API 22,导航路径为:Settings > Device:Storage & USB > Internal Storage > Explore(虚拟 SD 卡)。 | |
切换轨迹球模式 | F6 |
使用扩展控件、设置和帮助
利用扩展控件,您可以发送数据、更改设备属性和控制应用,等等。要访问这些控件,请在模拟器面板中选择 …,然后在 Extended Controls 对话框的左侧面板中选择您需要的选项。
功能 | 说明 | 键盘快捷键 |
---|---|---|
Location | 利用模拟器,您可以模拟“我的位置”信息:被模拟设备当前所处的位置。例如,如果您在 Google 地图中点击 My Location ,然后发送一个位置,地图将显示该位置。 要发送一个 GPS 位置,请执行以下操作: - 选择 Decimal 或 Sexagesimal。 - 指定位置。 在十进制模式下,输入一个介于 -90.0 至 +90.0 度范围内的 Latitude 值,以及一个介于 -180.0 至 +180.0 度范围内的 Longitude 值。 在六十进制模式下,输入一个介于 -90 至 +90 度、0 至 59 分和 0.0 至 60.0 秒的三部分 Latitude 值。输入一个介于 -180 至 +180 度、0 至 59 分和 0.0 至 60.0 秒的 Longitude 值。 对于纬度,- 表示南纬,+ 表示北纬;对于经度,- 表示西经,+ 表示东经。+ 可选。 (可选)指定一个介于 -1,000.0 至 +10,000.0 范围内的 Altitude 值。 - 点击 Send。 要使用 GPS 交换格式 (GPX) 或 Keyhole 标记语言 (KML) 文件,请执行以下操作: - 点击 Load GPX/KML。 - 在文件对话框中,选择计算机上的一个文件,然后点击 Open。 - (可选)选择一个 Speed 值。 速度默认采用 Delay 值 (Speed 1X)。您可以将速度设为两倍 (Speed**2X)、三倍 (Speed 3X),等等。 - 点击 Run。 | Ctrl + Shift + L ⇧⌘L |
Cellular | 利用模拟器,您可以模拟各种网络条件。您可以大致确定不同网络协议的网络速度,或者指定 Full,这样将以计算机允许的最大速度传输数据。指定任何一种网络协议后的传输速度都会比 Full 慢。您还可以指定语音和数据网络状态,例如漫游。默认值在 AVD 中设置。 选择 Network type: - GSM - Global System for Mobile Communications - HSCSD - High-Speed Circuit-Switched Data - GPRS - Generic Packet Radio Service - EDGE - Enhanced Data rates for GSM Evolution - UMTS - Universal Mobile Telecommunications System - HSPDA - High-Speed Downlink Packet Access - Full (default) 选择 Voice status、Data status(或两者): - Home (default) - Roaming - Searching - Denied (emergency calls only) - Unregistered (off) | Ctrl + Shift + C ⇧⌘C |
Battery | 您可以模拟设备的电池属性,了解应用在不同条件下的运行情况。要选择 Charge level,请使用滑块控件。 选择一个 Charger connection 值: - None - AC charger 选择一个 Battery health 值: - Good (default) - Failed - Dead - Overvoltage - Overheated - Unknown 选择一个 Battery status 值: - Unknown - Charging (default) - Discharging - Not charging - Full | Ctrl + Shift + B ⇧⌘B |
Phone | 利用模拟器,您可以模拟来电和短信。请注意,信息流是单向的,方向为从控件到模拟器。例如,如果模拟器挂断电话,控件不会更改其状态;您需要在控件中结束通话。 要呼叫模拟器,请执行以下操作: - 在 From 字段中选择或键入电话号码。 - 点击 Call Device。 - (可选)点击 Hold Call,保持通话。 - 要结束通话,请点击 End Call。 要想模拟器发送短信,请执行以下操作: - 在 From 字段中选择或键入电话号码。 - 在 SMS message 字段中键入消息。 - 点击 Send Message。 | Ctrl + Shift + P ⇧⌘P |
Directional Pad | 如果 AVD 在硬件配置中已启用方向键,您可以将方向键控件与模拟器搭配使用。不过,并不是所有设备都支持方向键,例如 Android 手表。按钮可以模拟以下操作: | Ctrl + Shift + D ⇧⌘D |
Fingerprint | 此控件可以模拟 10 种不同的指纹扫描。您可以使用他测试您的应用中的指纹集成。Android Wear 不支持此功能。 要在虚拟设备上模拟指纹扫描,请执行以下操作: - 准备一款应用来接收指纹。 - 选择 Fingerprint 值。 - 点击 Touch Sensor。 | Ctrl + Shift + F ⇧⌘F |
Settings | 您可以指定以下设置: - Emulator window theme - 选择 Light 或 Dark。 - Send keyboard shortcuts to - 默认情况下,某些键盘组合会触发模拟器控件快捷键。如果您正在开发的应用(例如面向带有蓝牙键盘的设备的应用)包含键盘快捷键,您可以更改此设置,将所有键盘输入发送到虚拟设备,包括在模拟器将是快捷键的输入。 - Screenshot save location - 点击文件夹图标,指定一个位置来保存模拟器的屏幕截图。 - Use detected ADB location - 如果您正在从 Android Studio 运行模拟器,那么应当选择此设置(默认)。如果您从 Android Studio 外部运行模拟器并且想要其使用特定的 ADB 可执行文件,请取消选择此选项并指定 SDK Tools 位置。如果此设置不正确,拖放应用安装与文件复制以及屏幕截图等功能将无法使用。 - When to send crash reports - 选择 Always、Never 或 Ask。 | Ctrl + Shift + S⇧⌘S |
Help > Keyboard Shortcuts | 了解模拟器接受的键盘快捷键。要使快捷键能够工作,您需要进行以下操作: - 选择 Settings > Send keyboard shortcuts to > Emulator controls (default)。 | F1⌘/ |
Help > Emulator Help | 要访问模拟器的在线文档,请点击 Documentation。 要提交模拟器的错误,请点击 File a Bug。 要提供建议,请点击 Send Feedback。 所有这些链接都需要互联网连接和浏览器才能访问。 | F1⌘/ |
Help > About | 了解模拟器使用哪个 ADB 端口,以 Android 和模拟器版本号。将最新可用的模拟器版本号与您的版本比较,确定您是否安装了最新的软件。 模拟器序列号为 emulator-**adb_port,您可以将其指定为 ADB 命令行选项。 | F1⌘/ |