本文介绍如何使用 Android 设备管理器(AVD)编辑 Android 虚拟设备的配置文件属性。 有关 Android 虚拟设备的详细信息,请参阅在 developer.android.com 上创建和管理虚拟设备 。
Windows 上的 Android 设备管理器
Android 设备管理器支持编辑单个 Android 虚拟设备配置文件属性。 “新建设备和设备编辑”屏幕列出第一列中虚拟设备的属性,第二列中每个属性的相应值(如以下示例所示):
选择属性时,右侧会显示该属性的详细说明。 可以修改硬件配置文件属性和 AVD 属性。 硬件配置文件属性(如 hw.ramSize 和 hw.accelerometer)描述模拟设备的物理特征。 这些特征包括屏幕大小、可用 RAM 量(无论是否存在加速计)。 AVD 属性指定 AVD 运行时的操作。 例如,可以配置 AVD 属性以指定 AVD 如何使用开发计算机的显卡进行呈现。
可以使用以下准则更改属性:
若要更改布尔属性,请单击布尔属性右侧的复选标记:
若要更改 枚举(enumerated) 属性,请单击属性右侧的向下箭头并选择一个新的值。
若要更改字符串或整数属性,请双击值列中的当前字符串或整数设置并输入新值。
下表提供了“新设备”和“设备编辑器”屏幕中列出的属性的详细说明:
| 财产 | 说明 | 选项 |
|---|---|---|
abi.type |
ABI 类型 – 指定模拟设备的 ABI(应用程序二进制接口)类型。 x86 选项适用于通常称为“ x86 ”或“IA-32”的指令集。 x86_64 选项适用于 64 位 x86 指令集。 armeabi-v7a 选项适用于具有 v7-a ARM 扩展的 ARM 指令集。 arm64-v8a 选项适用于支持 AArch64 的 ARM 指令集。 | x86、x86_64、armeabi-v7a、arm64-v8a |
disk.cachePartition |
缓存分区 – 确定模拟设备是否在设备上使用 /cache 分区。
/cache 分区(最初为空)是 Android 存储经常访问的数据和应用组件的位置。 如果设置为 “否”,则模拟器不使用 /cache 分区, disk.cache 其他设置将被忽略。 |
是,否 |
disk.cachePartition.path |
缓存分区路径 – 指定开发计算机上的缓存分区映像文件。 模拟器将此文件用于 /cache 分区。 输入绝对路径或相对于模拟器数据目录的路径。 如果未设置,模拟器会在开发计算机上创建一个名为 cache.img 的空临时文件。 如果该文件不存在,则会将其创建为空文件。 如果 disk.cachePartition 设置为 “否”,则忽略此选项。 |
|
disk.cachePartition.size |
缓存分区大小 – 缓存分区文件的大小(以字节为单位)。 通常,无需设置此选项,除非应用将下载大于默认缓存大小 66 MB 的非常大的文件。 如果 disk.cachePartition 设置为 “否”,则忽略此选项。 如果此值为整数,则指定大小(以字节为单位)。 还可以通过将 K、 M 或 G 追加到值来指定大小(以 KB、兆字节和 GB 为单位)。 最小大小为 9M ,最大大小为 1023G。 |
|
disk.dataPartition.initPath |
数据分区的初始路径 – 指定数据分区的初始内容。 擦除用户数据后,模拟器会将指定文件的内容复制到用户数据(默认情况下, userdata-qemu.img),而不是使用 userdata.img 作为初始版本。 | |
disk.dataPartition.path |
数据分区的路径 – 指定用户数据分区文件。 若要配置持久性用户数据文件,请在开发计算机上输入文件名和路径。 如果文件不存在,模拟器将从默认文件 userdata.img 创建映像,将其存储在指定的 disk.dataPartition.path文件名中,并在模拟器关闭时将用户数据保存到该文件中。 如果未指定路径,则默认文件名为 userdata-qemu.img。 特殊值 <临时> 会导致模拟器创建和使用临时文件。 如果 disk.dataPartition.initPath 已设置,则会在启动时将其内容复制到 disk.dataPartition.path 文件。 此选项不能留空。 |
|
disk.dataPartition.size |
数据分区大小 – 指定用户数据分区的大小(以字节为单位)。 如果此值为整数,则指定大小(以字节为单位)。 还可以通过将 K、 M 或 G 追加到值来指定大小(以 KB、兆字节和 GB 为单位)。 最小大小为 9M ,最大大小为 1023G。 | |
disk.ramdisk.path |
Ramdisk 路径 – 指向启动分区(ramdisk)映像的路径。 ramdisk 映像是内核在装载系统映像之前加载的系统映像的子集。 ramdisk 映像通常包含启动时二进制文件和初始化脚本。 如果未指定此选项,则模拟器系统目录中的默认值为 ramdisk.img 。 | |
disk.snapStorage.path |
快照存储路径 – 存储所有快照的快照存储文件的路径。 执行期间创建的所有快照都保存到此文件。 在模拟器运行期间,只能还原保存到此文件的快照。 如果未指定此选项,则模拟器数据目录中的默认值为 snapshots.img。 | |
disk.systemPartition.initPath |
系统分区初始化路径 – 系统映像文件的只读副本的路径;具体而言,包含对应于 API 级别和任何变体的系统库和数据的分区。 如果未指定此路径,则模拟器系统目录中的默认值为 system.img。 | |
disk.systemPartition.path |
系统分区路径 – 读/写系统分区映像的路径。 如果未设置此路径,则会根据指定的 disk.systemPartition.initPath文件内容创建并初始化临时文件。 |
|
disk.systemPartition.size |
系统分区大小 – 系统分区的理想大小(以字节为单位)。 如果实际系统分区映像大于此设置,则忽略大小;否则,它指定系统分区文件可以增长到的最大大小。 如果此值为整数,则指定大小(以字节为单位)。 还可以通过将 K、 M 或 G 追加到值来指定大小(以 KB、兆字节和 GB 为单位)。 最小大小为 9M ,最大大小为 1023G。 | |
hw.accelerometer |
加速计 – 确定仿真设备是否包含加速计传感器。 加速计有助于设备确定方向(用于自动调整)。 加速计沿三个传感器轴报告设备的加速。 | 是,否 |
hw.audioInput |
音频录制支持 – 确定仿真设备是否可以录制音频。 | 是,否 |
hw.audioOutput |
音频播放支持 – 确定仿真设备是否可以播放音频。 | 是,否 |
hw.battery |
电池支持 – 确定仿真设备是否可以在电池上运行。 | 是,否 |
hw.camera |
相机支持 – 确定仿真设备是否具有相机。 | 是,否 |
hw.camera.back |
后置摄像头 – 配置后置摄像头(镜头背向用户)。 如果你在开发计算机上使用网络摄像头来模拟模拟模拟设备上的反向相机,则必须将此值设置为网络摄像头n,其中 n 选择网络摄像头(如果只有一个摄像头,请选择 网络摄像头0)。 如果设置为 emulated,仿真器将模拟软件中的相机。 若要禁用反向相机,请将此值设置为 none。 如果启用后置摄像头,请务必同时启用 hw.camera。 |
模拟,无,摄像头0 |
hw.camera.front |
前置相机 - 配置前置摄像头(镜头面向用户)。 如果你在开发计算机上使用网络摄像头来模拟模拟模拟设备上的前置摄像头,则必须将此值设置为网络摄像头n,其中 n 选择网络摄像头(如果只有一个摄像头,请选择 网络摄像头0)。 如果设置为 emulated,仿真器在软件中模拟相机。 若要禁用前置相机,请将此值设置为 none。 如果启用前置摄像头,请务必同时启用 hw.camera。 |
模拟,无,摄像头0 |
hw.camera.maxHorizontalPixels |
最大水平相机像素 – 配置模拟设备的相机的最大水平分辨率(以像素为单位)。 | |
hw.camera.maxVerticalPixels |
最大垂直相机像素 – 配置模拟设备的相机的最大垂直分辨率(以像素为单位)。 | |
hw.cpu.arch |
CPU 体系结构 – 要由虚拟设备模拟的 CPU 体系结构。 若要模拟 ARM CPU,请选择 32 位 的 arm ,或为 64 位 ARM CPU 选择 arm64 。 请记住,基于 ARM 的虚拟设备运行速度比基于 x86 的设备慢得多,因为硬件加速不适用于 ARM。 | x86、x86_64、arm、arm64 |
hw.cpu.model |
CPU 模型 – 此值通常不设置(如果未显式设置,它将从 hw.cpu.arch 派生一个值)。 但是,它可以设置为特定于模拟器的字符串,以供实验使用。 |
|
hw.dPad |
DPad 键 – 确定仿真设备是否支持方向板(DPad)键。 DPad 通常具有四个键来指示方向控制。 | 是,否 |
hw.gps |
GPS 支持 – 确定仿真设备是否具有 GPS(全球定位系统)接收器。 | 是,否 |
hw.gpu.enabled |
GPU 仿真 – 确定仿真设备是否支持 GPU 仿真。 启用后,GPU 仿真使用 Open GL for Embedded Systems (OpenGL ES)在屏幕上呈现 2D 和 3D 图形,关联的 GPU 仿真模式设置决定了 GPU 仿真的实现方式。 | 是,否 |
hw.gpu.mode |
GPU 仿真模式 – 确定仿真器如何实现 GPU 仿真。 如果选择自动,模拟器会根据开发计算机设置选择硬件和软件加速。 如果选择主机,模拟器将使用开发计算机的图形处理器执行 GPU 仿真,以便更快地呈现。 如果你的 GPU 与模拟器不兼容,并且你使用的是 Windows 操作系统,你可以尝试使用 ANGLE 引擎替代宿主模式。 角度模式使用 DirectX 提供类似于主机的性能。 如果选择 mesa,模拟器将使用 Mesa 3D 软件库来呈现图形。 如果在通过开发计算机的图形处理器进行渲染时遇到问题,请选择 mesa。 swiftshader 模式可用于在软件中呈现图形,其性能略低于计算机的 GPU。 off 选项(禁用图形硬件仿真)是一个已弃用的选项,可能会导致某些项目呈现不当,因此不建议这样做。 | auto,host,mesa,angle,swiftshader,off |
hw.gsmModem |
GSM 调制解调器支持 – 确定仿真设备是否包括支持 GSM(全球移动通信系统)电话无线电系统的调制解调器。 | 是,否 |
hw.initialOrientation |
初始屏幕方向 – 在模拟设备上配置屏幕的初始方向(纵向或横向模式)。 在纵向模式下,屏幕的高度大于宽度。 在横向模式下,屏幕宽度大于高度。 运行模拟设备时,如果设备配置文件中同时支持纵向和横向,则可以更改方向。 | 纵向、横向 |
hw.keyboard |
键盘支持 – 确定仿真设备是否支持 QWERTY 键盘。 | 是,否 |
hw.keyboard.charmap |
键盘字符映射名称 – 此设备的硬件字符映射名称。 注意:除非已相应地修改系统映像,否则这应始终为默认 qwerty2 。 此名称在启动时发送到内核。 使用不正确的名称将导致无法使用的虚拟设备。 | |
hw.keyboard.lid |
键盘盖支持 – 如果启用了键盘支持,此设置确定 QWERTY 键盘是可以关闭/隐藏还是打开/可见。 如果 hw.keyboard 设置为 false,则忽略此设置。 注意:如果模拟设备面向 API 级别 12 或更高版本,则默认值为 false。 | 是,否 |
hw.lcd.backlight |
LCD 反光 – 确定仿真设备是否模拟LCD反光。 | 是,否 |
hw.lcd.density |
LCD 密度 – 模拟 LCD 显示的密度,以与密度无关的像素 (dp)(dp 是一种虚拟像素单位)来衡量。 当设置为 160 dp 时,每个 dp 对应于一个物理像素。 在运行时,Android 使用此值来选择和缩放适当的资源/资产,以便正确显示呈现。 | 120, 160, 240, 213, 320 |
hw.lcd.depth |
LCD 颜色深度 – 模拟帧缓冲区的颜色位深度,用于保存位图以驱动 LCD 显示器。 此值可以是 16 位(65,536 种可能的颜色)或 32 位(16,777,216 种颜色加上透明度)。 32 位设置可以使仿真器运行速度略慢,但颜色准确度更高。 | 16, 32 |
hw.lcd.height |
LCD 像素高度 – 构成模拟液晶显示器垂直尺寸的像素数。 | |
hw.lcd.width |
LCD 像素宽度 – 构成模拟液晶显示器的水平尺寸的像素数。 | |
hw.mainKeys |
硬件返回/开始密钥 – 确定仿真设备是否支持硬件“返回”和“主页”导航按钮。 如果按钮仅在软件中实现,则可以将此值设置为 “是 ”。 如果 hw.mainKeys 设置为 “是”,则模拟器不会在屏幕上显示导航按钮,但你可以使用仿真器侧面板“按”这些按钮。 |
是,否 |
hw.ramSize |
设备 RAM 大小 – 模拟设备上的物理 RAM 量(以兆字节为单位)。 默认值从屏幕大小或外观版本计算。 增加大小可以提供更快的仿真器操作,但代价是要求开发计算机提供更多资源。 | |
hw.screen |
触摸屏类型 – 定义模拟设备上的屏幕类型。 多触摸屏可以跟踪触摸界面上的两个或多个手指。 触摸屏只能检测单指触摸事件。 不支持触摸的屏幕不会检测触摸事件。 | 触摸、多触摸、无触摸 |
hw.sdCard |
SDCard 支持 – 确定仿真设备是否支持插入和删除虚拟 SD(安全数字)卡。 模拟器使用存储在开发计算机上的可装载磁盘映像来模拟实际 SD 卡设备的分区(请参阅 hw.sdCard.path)。 | 是,否 |
sdcard.size |
SDCard 大小 – 指定虚拟 SD 卡文件的大小(位于指定的 hw.sdCard.path位置)。 在设备上可用(以字节为单位)。 如果此值为整数,则指定大小(以字节为单位)。 还可以通过将 K、 M 或 G 追加到值来指定大小(以 KB、兆字节和 GB 为单位)。 最小大小为 9M ,最大大小为 1023G。 |
|
hw.sdCard.path |
SDCard 映像路径 – 指定开发计算机上的 SD 卡分区映像文件的文件名和路径。 例如,此路径可以设置为 Windows 上的 C:\sd\sdcard.img 。 | |
hw.sensors.magnetic_field |
磁场传感器 – 确定仿真设备是否支持磁场传感器。 磁场传感器(也称为磁力计)报告沿三个传感器轴测量的环境地磁场。 为需要访问指南针读数的应用启用此设置。 例如,导航应用可能使用此传感器检测用户人脸的方向。 | 是,否 |
hw.sensors.orientation |
方向传感器 – 确定仿真设备是否提供方向传感器值。 方向传感器测量设备围绕所有三个物理轴(x、y、z)旋转的程度。 从 Android 2.2(API 级别 8)开始,方向传感器已弃用。 | 是,否 |
hw.sensors.proximity |
邻近感应传感器 – 确定仿真设备是否支持邻近感应传感器。 此传感器测量对象相对于设备的视图屏幕的邻近度。 此传感器通常用于确定手机是否被按住人的耳朵。 | 是,否 |
hw.sensors.temperature |
温度传感器 – 确定仿真设备是否支持温度传感器。 此传感器以摄氏度(°C)测量设备的温度。 | 是,否 |
hw.touchScreen |
触摸屏支持 – 确定仿真设备是否支持触摸屏。 触摸屏用于在屏幕上直接操作对象。 | 是,否 |
hw.trackBall |
跟踪球支持 – 确定仿真设备是否支持轨迹球。 | 是,否 |
hw.useext4 |
EXT4 文件系统支持 – 确定仿真设备是否对分区使用 Linux EXT4 文件系统。 由于文件系统类型现已自动检测到,因此此选项已弃用并被忽略。 | 否 |
kernel.newDeviceNaming |
内核新设备命名 – 用于指定内核是否需要新的设备命名方案。 新的命名方案通常用于 Linux 3.10 内核及更高版本。 如果设置为 自动检测,模拟器会自动检测内核是否需要新的设备命名方案。 | 自动检测,是,否 |
kernel.parameters |
内核参数 – 指定 Linux 内核启动参数的字符串。 默认情况下,此设置留空。 | |
kernel.path |
内核路径 – 指定 Linux 内核的路径。 如果未指定此路径,模拟器会在模拟器系统目录中查找kernel-ranchu。 | |
kernel.supportsYaffs2 |
YAFFS2 分区支持 – 确定内核是否支持 YAFFS2(另一个闪存文件系统 2)分区。 通常,此支持仅适用于 Linux 3.10 之前的内核。 如果设置为 自动检测,模拟器会自动检测内核是否可以装载 YAFFS2 文件系统。 | 自动检测,是,否 |
skin.name |
外观名称 – Android 仿真器外观的名称。 外观是一组文件,用于定义仿真器显示的视觉和控制元素。它描述了 AVD 窗口在开发计算机上的外观。 外观描述屏幕大小、按钮和整体设计,但不会影响应用的操作。 | |
skin.path |
皮肤路径 – 指定在 skin.name 中的模拟器皮肤文件所在目录的路径。该目录包含 hardware.ini 布局文件,以及皮肤显示元素的图像文件。 | |
skin.dynamic |
皮肤动态 - 皮肤 是否是动态的。 如果模拟器基于指定的宽度和高度构造给定大小的皮肤,则模拟器外观是动态外观。 | 否 |
有关这些属性的详细信息,请参阅 硬件配置文件属性。