使用 Android Device Manager 管理虚拟设备

本文介绍如何使用 Android Device Manager 创建和配置对物理 Android 设备进行仿真的 Android 虚拟设备 (AVD)。 可以使用这些虚拟设备运行和测试应用,而不需要依赖物理设备。

验证硬件加速已启用后(如通过硬件加速提高仿真器性能中所述),下一步是使用 Android Device Manager(也称为 Xamarin Android Device Manager)创建用于测试和调试应用的虚拟设备 。

Windows 上的 Android Device Manager

本文介绍了如何使用 Android Device Manager 创建、复制、自定义和启动 Android 虚拟设备。

“设备”选项卡中 Android 设备管理器的屏幕截图

使用 Android Device Manager 创建和配置在 Android Emulator 中运行的 Android 虚拟设备 (AVD) 。 每台 AVD 是模拟物理 Android 设备的仿真器配置。 这样可以在模拟不同物理 Android 设备的多种配置中运行和测试应用。

要求

若要使用 Android Device Manager,需要具备以下各项:

  • Visual Studio 2019 Community、Professional 或 Enterprise。

  • 或者需要 Visual Studio 2017 版本 15.8 或更高版本。 支持 Visual Studio Community、Professional 和 Enterprise 版本。

  • Visual Studio Tools for Xamarin 版本 4.9 或更高版本。

  • 必须安装 Android SDK(请参阅设置用于 Xamarin.Android 的 Android SDK)。 如果 Android SDK 尚未安装,请确保在其默认位置安装: C:\Program Files (x86) \Android\android-sdk

  • 必须(通过 Android SDK 管理器)安装以下包:

    • Android SDK Tools 版本 26.1.1 或更高版本
    • Android SDK 平台工具 27.0.1 或更高版本
    • Android SDK 生成工具 27.0.3 或更高版本
    • Android Emulator 27.2.7 或更高版本 。

    这些包应显示为“已安装”状态,如下面的屏幕截图所示 :

    安装 Android SDK 工具

启动设备管理器

通过单击“工具”“Android Android 设备管理器”,从“工具>”菜单启动 Android > 设备管理器

从“工具”菜单启动设备管理器

如果在启动时看到以下错误对话框,请参阅故障排除部分以查找解决方法:

Android SDK 实例错误对话框

主屏幕

首次启动 Android 设备管理器时,它会展现一个显示所有当前已配置的虚拟设备的屏幕。 对于每台虚拟设备,将显示“名称”、“OS”(Android 版)、“处理器”、“内存”大小以及屏幕“分辨率” :

已安装设备及其参数的列表

选择列表中的设备时,“启动”按钮出现在右侧 。 可以单击“启动”按钮以通过此虚拟设备启动仿真器 :

设备映像的“开始”按钮

通过所选虚拟设备启动仿真器后,“启动”按钮将更改为可用于终止运行仿真器的“停止”按钮 :

正在运行的设备的“停止”按钮

新设备

若要创建新设备,请单击“新建”按钮(位于屏幕的右上方区域) :

用于创建新设备的“新建”按钮

单击“新建”以启动“新建设备”屏幕 :

设备管理器的新设备屏幕

若要在“新建设备”屏幕中配置新设备,请使用以下步骤 :

  1. 为设备提供新名称。 在下面的示例中,新设备名为“Pixel_API_27” :

    命名新设备

  2. 通过单击“基本设备”下拉菜单选择要仿真的物理设备 :

    选择要模拟的物理设备

  3. 单击“处理器”下拉菜单以选择适用于此虚拟设备的处理器类型 。 选择“x86”可提供最佳性能,因为它使仿真器能够充分利用硬件加速 。 x86_64 选项也将使用硬件加速,但运行速度略慢于 x86(x86_64 通常用于测试 64 位应用) :

    选择处理器类型

  4. 单击“OS”下拉菜单可选择 Android 版本(API 级别) 。 例如,选择“Oreo 8.1 - API 27”以创建 API 级别为 27 的虚拟设备 :

    选择 Android 版本

    如果选择尚未安装的 Android API 级别,设备管理器将在屏幕底部显示“将下载新设备”消息 - 它将在创建新的虚拟设备时下载并安装所需的文件:

    将下载新的设备映像

  5. 如果希望虚拟设备中包含 Google Play Services API,请启用“Google API”选项 。 若要包含 Google Play 商店应用,请启用“Google Play 商店”选项 :

    选择 Google Play 服务和 Google Play 商店

    请注意,Google Play 商店图片仅适用于某些基本设备类型,例如 Pixel、Pixel 2、Nexus 5 和 Nexus 5X。

  6. 编辑需要修改的任何属性。 若要对属性进行更改,请参阅编辑 Android 虚拟设备属性

  7. 添加需要显式设置的任何其他属性。 尽管“新建设备”屏幕只列出了最常修改的属性,但你可以单击“添加属性”下拉菜单(位于底部)以添加其他的属性 :

    “添加属性”下拉菜单

    还可以通过选择属性列表顶部的“ 自定义...” 来定义自定义属性。

  8. 单击“创建”按钮(位于右下角)以创建新设备 :

    “创建”按钮

  9. 可能会出现“许可证接受”屏幕 。 如果同意许可条款,请单击“接受” :

    许可证接受屏幕

  10. 在设备创建期间,Android Device Manager 将新设备添加到已安装虚拟设备列表中,同时显示“正在创建”进度指示器 :

    创建进度指示器

  11. 创建过程完成后,新设备会显示在已安装虚拟设备的列表中,并且会显示可以启动的“启动”按钮 :

    新创建的设备已准备好启动

编辑设备

若要编辑现有的虚拟设备,请选择设备并单击“编辑”按钮(位于屏幕的右上方) :

用于修改设备的“编辑”按钮

单击“编辑”为所选的虚拟设备启动“设备编辑器” :

设备编辑器屏幕

“设备编辑器”屏幕在“属性”列下列出了虚拟设备的属性,在“值”列中为每个属性列出相应的值 。 当选择某个属性时,有关该属性的详细描述会显示在右侧。

若要更改属性,请在“值”列中编辑其值 。 例如,在下面的屏幕截图中,hw.lcd.density 属性正从“480”更改为“240” :

设备编辑示例

在进行必要的配置更改后,单击“保存”按钮 。 有关更改虚拟设备属性的详细信息,请参阅编辑 Android 虚拟设备属性

附加选项

右上角的“ 其他选项” (...) 下拉菜单中提供了使用设备的其他选项:

“其他选项”菜单的位置

附加选项菜单中包含以下项:

  • 复制和编辑 - 复制当前选择的设备,并在 “新建设备” 屏幕中使用不同的唯一名称将其打开。 例如,选择“Pixel_API_27”并单击“复制和编辑”可将计数器追加到名称中 :

    “复制和编辑”屏幕

  • 在资源管理器中显示 – 在保存虚拟设备文件的文件夹中打开 Windows 资源管理器窗口。 例如,选择“Pixel_API_27”并单击“在资源管理器中展现”以打开一个窗口,如下所示 :

    在资源管理器中单击“显示”的结果

  • 恢复出厂设置 – 将所选设备重置为其默认设置,擦除用户在运行设备时对设备内部状态所做的任何更改 (这也会擦除当前快速启动快照(如果有任何) )。 此更改不会影响在创建和编辑期间对虚拟设备做出的修改。 将出现提醒此重置无法被撤消的一个对话框。 单击“恢复出厂设置”,确认重置 :

    “恢复出厂设置”对话框

  • 删除 - 永久删除所选虚拟设备。 将出现提醒删除设备无法被撤消的一个对话框。 如果确定要删除设备,请单击“删除” 。

    “删除设备”对话框

注意

如果要将 Mac 与 Apple 芯片(例如 M1)一起使用,需要从 GitHub 安装适用于 M1 的 Android Emulator 预览版

macOS 上的 Android Device Manager

本文介绍了如何使用 Android Device Manager 创建、复制、自定义和启动 Android 虚拟设备。

“设备”选项卡中 Android 设备管理器的屏幕截图

使用 Android Device Manager 创建和配置在 Android Emulator 中运行的 Android 虚拟设备 (AVD) 。 每台 AVD 是模拟物理 Android 设备的仿真器配置。 这样可以在模拟不同物理 Android 设备的多种配置中运行和测试应用。

要求

若要使用 Android Device Manager,需要具备以下各项:

  • Visual Studio for Mac 7.6 或更高版本。

  • 必须安装 Android SDK(请参阅设置用于 Xamarin.Android 的 Android SDK)。

  • 必须(通过 Android SDK 管理器)安装以下包:

    • SDK 工具 26.1.1 版或更高版本
    • Android SDK 平台工具 28.0.1 或更高版本
    • Android SDK 生成工具 26.0.3 或更高版本

    这些包应显示为“已安装”状态,如下面的屏幕截图所示 :

    安装 Android SDK 工具

启动设备管理器

单击“工具>”设备管理器启动 Android 设备管理器:

从“工具”菜单启动设备管理器

如果在启动时看到以下错误对话框,请参阅故障排除部分以查找解决方法:

屏幕截图显示疑难解答信息的“Android SDK 实例错误”对话框。

主屏幕

首次启动 Android 设备管理器时,它会展现一个显示所有当前已配置的虚拟设备的屏幕。 对于每台虚拟设备,将显示“名称”、“OS”(Android 版)、“处理器”、“内存”大小以及屏幕“分辨率” :

已安装设备及其参数的列表

选择列表中的设备时,“播放”按钮出现在右侧 。 可以单击“播放”按钮以通过此虚拟设备启动仿真器 :

设备图像的“播放”按钮

通过所选虚拟设备启动仿真器后,“播放”按钮将更改为可用于终止运行仿真器的“停止”按钮 :

正在运行的设备的“停止”按钮

停止仿真器时,可能会收到一个提示,询问是否要保存当前状态以便下一次快速启动:

保存“快速启动”对话框的当前状态

保存当前状态会使再次启动虚拟设备时仿真器的启动速度更快。 有关“快速启动”的详细信息,请参阅快速启动

新设备

若要创建新设备,请单击“新建设备”按钮(位于屏幕的左上方区域) :

用于创建新设备的“新建”按钮

单击“新建设备”以启动“新建设备”屏幕 :

设备管理器的新设备屏幕

使用以下步骤在“新建设备”屏幕中配置新设备 :

  1. 为设备提供新名称。 在下面的示例中,新设备名为“Pixel_API_27” :

    命名新设备

  2. 通过单击“基本设备”下拉菜单选择要仿真的物理设备 :

    选择要模拟的物理设备

  3. 单击“处理器”下拉菜单以选择适用于此虚拟设备的处理器类型 。 选择“x86”可提供最佳性能,因为它使仿真器能够充分利用硬件加速 。 x86_64 选项也将使用硬件加速,但运行速度略慢于 x86(x86_64 通常用于测试 64 位应用) :

    选择处理器类型

  4. 单击“OS”下拉菜单可选择 Android 版本(API 级别) 。 例如,选择“Oreo 8.1 - API 27”以创建 API 级别为 27 的虚拟设备 :

    选择 Android 版本

    如果选择尚未安装的 Android API 级别,设备管理器将在屏幕底部显示“将下载新设备”消息 - 它将在创建新的虚拟设备时下载并安装所需的文件:

    将下载新的设备映像

  5. 如果希望虚拟设备中包含 Google Play Services API,请启用“Google API”选项 。 若要包含 Google Play 商店应用,请启用“Google Play 商店”选项 :

    选择 Google Play 服务和 Google Play 商店

    请注意,Google Play 商店图片仅适用于某些基本设备类型,例如 Pixel、Pixel 2、Nexus 5 和 Nexus 5X。

  6. 编辑需要修改的任何属性。 若要对属性进行更改,请参阅编辑 Android 虚拟设备属性

  7. 添加需要显式设置的任何其他属性。 尽管“新建设备”屏幕只列出了最常修改的属性,但你可以单击“添加属性”下拉菜单(位于底部)以添加其他的属性 :

    “添加属性”下拉菜单

    还可以在该属性列表顶部单击“自定义...”,定义自定义属性 。

  8. 单击“创建”按钮(位于右下角)以创建新设备 :

    “创建”按钮

  9. 在设备创建期间,Android Device Manager 将新设备添加到已安装虚拟设备列表中,同时显示“正在创建”进度指示器 :

    创建进度指示器

  10. 创建过程完成后,新设备会显示在已安装虚拟设备的列表中,并且会显示可以启动的“启动”按钮 :

    新创建的设备已准备好启动

编辑设备

若要编辑现有的虚拟设备,请选择“其他选项”下拉菜单(齿轮图标),然后选择“编辑” :

用于修改新设备的编辑菜单选择

单击“编辑”为所选的虚拟设备启动“设备编辑器” :

设备编辑器屏幕

“设备编辑器”屏幕在“属性”列下列出了虚拟设备的属性,在“值”列中为每个属性列出相应的值 。 当选择某个属性时,有关该属性的详细描述会显示在右侧。

若要更改属性,请在“值”列中编辑其值 。 例如,在下面的屏幕截图中,hw.lcd.density 属性正从“480”更改为“240” :

设备编辑示例

在进行必要的配置更改后,单击“保存”按钮 。 有关更改虚拟设备属性的详细信息,请参阅编辑 Android 虚拟设备属性

附加选项

“播放”按钮左侧的下拉菜单中提供适用于设备的附加选项 :

“其他选项”菜单的位置

附加选项菜单中包含以下项:

  • 编辑 – 如前所述,在设备编辑器中打开当前选定的设备。

  • 复制和编辑 - 复制当前选定的设备,并在 “新建设备” 屏幕中使用不同的唯一名称打开它。 例如,选择“Pixel 2 API 28”并单击“复制和编辑”可将计数器追加到名称中 :

    “复制和编辑”屏幕

  • 在 Finder 中显示 – 在保存虚拟设备文件的文件夹中打开 macOS Finder 窗口。 例如,选择“Pixel 2 API 28”并单击“在查找器中展现”以打开一个窗口,如下所示 :

    在 Finder 中单击“显示”的结果

  • 恢复出厂设置 - 将所选设备重置为其默认设置,擦除在设备运行时对设备内部状态所做的任何用户更改 (此操作还会清除当前快速启动快照(如果有) )。 此更改不会影响在创建和编辑期间对虚拟设备做出的修改。 将出现提醒此重置无法被撤消的一个对话框。 单击“恢复出厂设置”以确认重置 。

    恢复出厂设置对话框

  • 删除 – 永久删除所选虚拟设备。 将出现提醒删除设备无法被撤消的一个对话框。 如果确定要删除设备,请单击“删除” 。

    “删除设备”对话框


疑难解答

以下各节介绍如何诊断和避开使用 Android Device Manager 配置虚拟设备时可能发生的问题。

Android SDK 位于非标准位置

通常情况下,Android SDK 安装在以下位置:

C:\Program Files (x86) \Android\android-sdk

如果 SDK 未安装在此位置,在启动 Android Device Manager 时可能会遇到此错误:

Android SDK 实例错误

若要解决此问题,请使用以下步骤:

  1. 从 Windows 桌面导航到 C:\Users\username\AppData\Roaming\XamarinDeviceManager

    Android 设备管理器日志文件位置

  2. 双击以打开某个日志文件,并找到“配置文件路径” 。 例如:

    日志文件中的配置文件路径

  3. 导航到此位置,然后双击“user.config”以将其打开 。

  4. 在“user.config”中,找到 <UserSettings> 元素,并向它添加一个“AndroidSdkPath”特性 。 将此特性设置为 Android SDK 在开发计算机上的安装位置路径,然后保存文件。 例如, <UserSettings> 如果 Android SDK 安装在 C:\Programs\Android\SDK 中,如下所示:

    <UserSettings SdkLibLastWriteTimeUtcTicks="636409365200000000" AndroidSdkPath="C:ProgramsAndroidSDK" />
    

对 user.config 进行更改后,应该能够启动 Android Device Manager 。

错误版本的 Android SDK Tools

如果未安装 Android SDK 工具 26.1.1 或更高版本,在启动时可能会看到以下错误对话框:

屏幕截图显示“Android SDK 实例错误”对话框。

如果看到此错误对话框,请单击“打开 SDK 管理器”以打开 Android SDK 管理器 。 在 Android SDK 管理器中,单击“工具”选项卡并安装以下包 :

  • Android SDK Tools 26.1.1 或更高版本
  • Android SDK 平台工具 27.0.1 或更高版本
  • Android SDK 生成工具 27.0.3 或更高版本

快照禁用 Android Oreo 上的 WiFi

如果 AVD 配置为使用模拟 Wi-Fi 访问的 Android Oreo,那么在快照之后重启 AVD 可能会导致 Wi-Fi 访问被禁用。

若要解决此问题:

  1. 在 Android Device Manager 中选择 AVD。

  2. 在其他选项菜单中,单击“在资源管理器中展现” 。

  3. 导航到 快照 > default_boot

  4. 删除 snapshot.pb 文件:

    快照.pb 文件的位置

  5. 重启 AVD。

进行这些更改后,AVD 将在允许 Wi-Fi 重新工作的状态下重新启动。

生成 Bug 报表

如果发现 Android Device Manager 出现问题,但无法使用上述疑难解答提示解决,请右键单击标题栏并选择“生成 Bug 报告”,提交该 bug 报告 :

用于提交 bug 报告的菜单项的位置

总结

本指南介绍 Visual Studio Tools for Xamarin 和 Visual Studio for Mac 中提供的 Android Device Manager。 其中介绍了启动和停止 Android 仿真器、选择要运行的 Android 虚拟设备 (AVD)、创建新的虚拟设备以及如何编辑虚拟设备等基本功能。 还介绍了如何编辑配置文件硬件属性以便进一步进行自定义并提供了常见问题的故障排除技巧。

第 9 频道YouTube 上查找更多 Xamarin 视频。