You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

875 lines
26 KiB

# This file describes the properties of a given virtual device configuration file.
#
# Note: Most top-level properties are boolean that control whether a feature is
# present or not. Sub-features that depend on it are ignored if their
# parent is set to 'false' or 'no'
#
# This file is parsed by 'android/scripts/gen-hw-config.py' to generate
# 'android/avd/hw-config-defs.h'. The latter is a special header containing
# macro statements that is used several times:
#
# - once to define the fields of the AndroidHwConfig structure
# (see android/avd/hw-config.h)
#
# - once to implement the hardware configuration loader
# (see android/avd/hw-config.h)
#
# It is also packaged by the SDK and parsed by tools to let the developers
# create AVDs.
#
# NOTE: if you remove items from this file, be sure that you do not break
# the emulator build.
#
# CPU Architecture
name = hw.cpu.arch
type = string
default = arm
abstract = CPU Architecture
description = The CPU Architecture to emulator
# CPU Model
# Leave it empty, and the default value will be computed from
# hw.cpu.arch. This is only useful for experimentation for now.
name = hw.cpu.model
type = string
default =
abstract = CPU model
description = The CPU model (QEMU-specific string)
# SMP count: Number of processors to emulate when SMP is supported.
# Must be > 0.
name = hw.cpu.ncore
type = integer
default = 2
abstract = SMP CPU core count
description = Number of cores in a simulated SMP CPU.
# Ram size
# Default value will be computed based on screen pixels
# or skin version
name = hw.ramSize
type = integer
default = 0
abstract = Device ram size
description = The amount of physical RAM on the device, in megabytes.
# Touch screen type
name = hw.screen
type = string
enum = touch, multi-touch, no-touch
default = multi-touch
abstract = Touch screen type
description = Defines type of the screen.
# Hardware main keys (back/home)
name = hw.mainKeys
type = boolean
default = yes
abstract = Hardware Back/Home keys
description = Whether there are hardware back/home keys on the device.
# Trackball support
name = hw.trackBall
type = boolean
default = yes
abstract = Track-ball support
description = Whether there is a trackball on the device.
# Keyboard support (qwerty/azerty)
name = hw.keyboard
type = boolean
default = no
abstract = Keyboard support
description = Whether the device has a QWERTY keyboard.
# Keyboard lid support
# (I.e. can the qwerty keyboard be closed/hidden or opened/visible)
# this will be ignored if hw.keyboard is false
#
# NOTE: As a special case, the default value will be 'false' if the
# AVD targets API level 12 or higher. See hwConfig_init()
# in external/qemu/android/avd/hw-config.c for more details.
#
name = hw.keyboard.lid
type = boolean
default = yes
abstract = Keyboard lid support
description = Whether the QWERTY keyboard can be opened/closed.
# The name of the hardware charmap for this device.
#
# NOTE: This should always be the default 'qwerty2' unless you have
# modified the system image accordingly. This name is sent to
# the kernel at boot time. Using an incorrect name will result
# in an unusable machine.
name = hw.keyboard.charmap
type = string
default = qwerty2
abstract = Keyboard charmap name
description = Name of the system keyboard charmap file.
# DPad keys
name = hw.dPad
type = boolean
default = yes
abstract = DPad support
description = Whether the device has DPad keys
# Rotary input
name = hw.rotaryInput
type = boolean
default = no
abstract = Rotary input support
description = Whether the device has rotary input
# GSM Modem support
name = hw.gsmModem
type = boolean
default = yes
abstract = GSM modem support
description = Whether there is a GSM modem in the device.
# GPS support
name = hw.gps
type = boolean
default = yes
abstract = GPS support
description = Whether there is a GPS in the device.
# Battery
name = hw.battery
type = boolean
default = yes
abstract = Battery support
description = Whether the device can run on a battery.
# Accelerometer (used for auto-rotation)
name = hw.accelerometer
type = boolean
default = yes
abstract = Accelerometer
description = Whether there is an accelerometer in the device.
# Gyroscope (used for VR)
name = hw.gyroscope
type = boolean
default = yes
abstract = Gyroscope
description = Whether there is a gyroscope in the device.
# Audio input
name = hw.audioInput
type = boolean
default = yes
abstract = Audio recording support
description = Whether the device can record audio
# Audio output
name = hw.audioOutput
type = boolean
default = yes
abstract = Audio playback support
description = Whether the device can play audio
# SDCard support
name = hw.sdCard
type = boolean
default = yes
abstract = SD Card support
description = Whether the device supports insertion/removal of virtual SD Cards.
name = hw.sdCard.path
type = string
default =
abstract = SD Card image path
name = hw.logcatOutput.path
type = string
default =
abstract = Logcat Output File Path
# Cache partition
name = disk.cachePartition
type = boolean
default = yes
abstract = Cache partition support
description = Whether we use a /cache partition on the device.
name = disk.cachePartition.path
type = string
default =
abstract = Cache partition
description = Cache partition to use on the device. Ignored if disk.cachePartition is not 'yes'.
name = disk.cachePartition.size
type = diskSize
abstract = Cache partition size
default = 66MB
name = test.quitAfterBootTimeOut
type = integer
default = -1
abstract = Quit emulator after guest boots completely, or after time out. Default: end of universe.
name = test.delayAdbTillBootComplete
type = integer
default = 0
abstract = Delay sending data to guest adb until guest completed booting
name = test.monitorAdb
type = integer
default = 0
abstract = Monitor Adb messages between guest and host. Default: Disabled.
# LCD width
name = hw.lcd.width
type = integer
default = 320
abstract = LCD pixel width
name = hw.lcd.height
type = integer
default = 640
abstract = LCD pixel height
name = hw.lcd.depth
type = integer
enum = 16, 32
default = 16
abstract = LCD color depth
description = Color bit depth of emulated framebuffer.
# LCD density
name = hw.lcd.density
type = integer
enum = 120, 160, 240, 213, 320
default = 160
abstract = Abstracted LCD density
description = A value used to roughly describe the density of the LCD screen for automatic resource/asset selection.
# LCD backlight - Enable/Disable LCD backlight simulation
# default = no : Disabled
# default = yes : Enabled
name = hw.lcd.backlight
type = boolean
default = yes
abstract = LCD backlight
description = Enable/Disable LCD backlight simulation,yes-enabled,no-disabled.
# VSYNC rate
name = hw.lcd.vsync
type = integer
default = 60
abstract = LCD VSYNC rate
# GL transport
name = hw.gltransport
type = string
default = pipe
enum = tcp, pipe, virtio-gpu, asg
abstract = Transport used to run graphics
name = hw.gltransport.asg.writeBufferSize
type = integer
default = 1048576
abstract = For address space graphics, the total size of the write buffer the guest can write into
name = hw.gltransport.asg.writeStepSize
type = integer
default = 4096
abstract = For address space graphics, the max size of each guest-to-host transaction.
name = hw.gltransport.asg.dataRingSize
type = integer
default = 32768
abstract = For address space graphics, the size of the ring used to transfer larger buffers.
name = hw.gltransport.drawFlushInterval
type = integer
default = 800
abstract = Interval over which to flush draw calls (balance host gpu starve vs pipe notif overhead)
# Display sub-region
# Indicates a reduced area of hw.lcd that is used when a foldable device
# is in its folded configuration.
name = hw.displayRegion.0.1.xOffset
type = integer
default = -1
abstract = Horizontal offset of the sub-region
name = hw.displayRegion.0.1.yOffset
type = integer
default = -1
abstract = Vertical offset of the sub-region
name = hw.displayRegion.0.1.width
type = integer
default = 0
abstract = Horizontal size of the sub-region
name = hw.displayRegion.0.1.height
type = integer
default = 0
abstract = Vertical size of the sub-region
name = hw.displayRegion.0.2.xOffset
type = integer
default = -1
abstract = Horizontal offset of the sub-region
name = hw.displayRegion.0.2.yOffset
type = integer
default = -1
abstract = Vertical offset of the sub-region
name = hw.displayRegion.0.2.width
type = integer
default = 0
abstract = Horizontal size of the sub-region
name = hw.displayRegion.0.2.height
type = integer
default = 0
abstract = Vertical size of the sub-region
name = hw.displayRegion.0.3.xOffset
type = integer
default = -1
abstract = Horizontal offset of the sub-region
name = hw.displayRegion.0.3.yOffset
type = integer
default = -1
abstract = Vertical offset of the sub-region
name = hw.displayRegion.0.3.width
type = integer
default = 0
abstract = Horizontal size of the sub-region
name = hw.displayRegion.0.3.height
type = integer
default = 0
abstract = Vertical size of the sub-region
# The Secondary Displays (MAX 3) (Primary display is represented by hw.lcd.*)
name = hw.display1.width
type = integer
default = 0
abstract = Pixel width of the second display
name = hw.display1.height
type = integer
default = 0
abstract = Pixel height of the second display
name = hw.display1.density
type = integer
default = 0
abstract = Screen density of the second display
name = hw.display1.xOffset
type = integer
default = -1
abstract = the horizontal offset of the second display with respect to the host QT window.
name = hw.display1.yOffset
type = integer
default = -1
abstract = the veritcal offset of the second display with respect to the host QT window.
name = hw.display1.flag
type = integer
default = 0
abstract = the flag to use when the second display is initialized in the Android system.
name = hw.display2.width
type = integer
default = 0
abstract = Pixel width of the third display
name = hw.display2.height
type = integer
default = 0
abstract = Pixel height of the third display
name = hw.display2.density
type = integer
default = 0
abstract = Screen density of the third display
name = hw.display2.xOffset
type = integer
default = -1
abstract = the horizontal offset of the third display with respect to the host QT window.
name = hw.display2.yOffset
type = integer
default = -1
abstract = the veritcal offset of the third display with respect to the host QT window.
name = hw.display2.flag
type = integer
default = 0
abstract = the flag to use when the third display is initialized in the Android system.
name = hw.display3.width
type = integer
default = 0
abstract = Pixel width of the fourth display
name = hw.display3.height
type = integer
default = 0
abstract = Pixel height of the fourth display
name = hw.display3.density
type = integer
default = 0
abstract = Screen density of the fourth display
name = hw.display3.xOffset
type = integer
default = -1
abstract = the horizontal offset of the fourth display with respect to the host QT window.
name = hw.display3.yOffset
type = integer
default = -1
abstract = the veritcal offset of the fourth display with respect to the host QT window.
name = hw.display3.flag
type = integer
default = 0
abstract = the flag touse when the fourth display is initialized in the Android system.
name = display.settings.xml
type = string
enum = freeform, ...
default =
abstract = Configure setting xml file for Android Window Manager
# Hardware OpenGLES emulation support
#
name = hw.gpu.enabled
type = boolean
default = no
abstract = GPU emulation
description = Enable/Disable emulated OpenGLES GPU
name = hw.gpu.mode
type = string
default = auto
enum = auto, host, mesa
abstract = GPU emulation mode
description = This value determines how GPU emulation is implemented.
# Deactivated due to issues with blacklist=no leaked to production
# name = hw.gpu.blacklisted
# type = string
# default = no
# enum = no, yes
# abstract = GPU on-blacklist mode
# description = This value determines if the GPU is considered blacklisted. Testing purposes only.
# Configures the initial orientation: portrait or landscape
#
name = hw.initialOrientation
type = string
enum = portrait, landscape
default = portrait
abstract = Initial screen orientation
description = Setup initial screen orientation, can be rotated later on.
# Configures camera facing back
#
name = hw.camera.back
type = string
enum = emulated, none, webcam0, ...
default = emulated
abstract = Configures camera facing back
description = Must be 'emulated' for a fake camera, 'webcam<N>' for a web camera, or 'none' if back camera is disabled.
# Configures camera facing front
#
name = hw.camera.front
type = string
enum = emulated, none, webcam0, ...
default = none
abstract = Configures camera facing front
description = Must be 'emulated' for a fake camera, 'webcam<N>' for a web camera, or 'none' if front camera is disabled.
# Maximum VM heap size
# Higher values are required for high-dpi devices
# Default will depend on RAM size.
name = vm.heapSize
type = integer
default = 0
abstract = Max VM application heap size
description = The maximum heap size a Dalvik application might allocate before being killed by the system. Value is in megabytes.
# Light sensor
name = hw.sensors.light
type = boolean
default = yes
abstract = Light support
description = Whether there is a light sensor in the device
# Pressure sensor
name = hw.sensors.pressure
type = boolean
default = yes
abstract = Pressure support
description = Whether there is a pressure sensor in the device
# Humidity sensor
name = hw.sensors.humidity
type = boolean
default = yes
abstract = Humidity support
description = Whether there is a relative humidity sensor in the device
# Proximity sensor
name = hw.sensors.proximity
type = boolean
default = yes
abstract = Proximity support
description = Whether there is an proximity in the device.
# Magnetic field sensor
name = hw.sensors.magnetic_field
type = boolean
default = yes
abstract = Magnetic field support
description = Provides magnetic field sensor values.
# Uncalibrated magnetometer (used for VR)
name = hw.sensors.magnetic_field_uncalibrated
type = boolean
default = yes
abstract = Uncalibrated magnetic field suport
description = Provides uncalibrated magnetic field sensor values.
# Uncalibrated gyroscope
name = hw.sensors.gyroscope_uncalibrated
type = boolean
default = yes
abstract = Uncalibrated gyroscope support
description = Provides uncalibrated gyroscope sensor values.
# Orientation sensor
name = hw.sensors.orientation
type = boolean
default = yes
abstract = Orientation support
description = Provides orientation sensor values.
# Temperature sensor
name = hw.sensors.temperature
type = boolean
default = yes
abstract = Temperature support
description = Provides temperature sensor values.
# Hinge angle sensor
name = hw.sensor.hinge
type = boolean
default = yes
abstract = Enalbe hinge angle sensor.
name = hw.sensor.hinge.count
type = integer
default = 0
abstract = Provides hinge angle sensor count.
name = hw.sensor.hinge.type
type = integer
default = 0
abstract = Provides hinge angle sensor type. 0 (horizontal) and 1 (vertical)
name = hw.sensor.hinge.sub_type
type = integer
default = 0
abstract = Provides hinge angle sensor sub type. 0 (invisible hinge, fold on screen) and 1 (hinge)
name = hw.sensor.hinge.ranges
type = string
default =
abstract = angel ranges for each hinge sensor, e.g., 0-360, 0-180 for two sensors.
name = hw.sensor.hinge.defaults
type = string
default =
abstract = default angel for each hinge sensor, e.g., 180, 90 for two sensors.
name = hw.sensor.hinge.areas
type = string
default =
abstract = hinge areas on the display, format is percentage_of_screen-width, e.g., 33.3-0, 66.6-10 for two sensors. Or x-y-width-height, e.g., 600-0-0-1200, 1200-0-10-1200 for two sensors.
name = hw.sensor.posture_list
type = string
default =
abstract = list of supported postures by index. 0: unknown, 1: closed, 2: half-open, 3: open, 4: flipped, 5: tent
name = hw.sensor.hinge_angles_posture_definitions
type = string
default =
abstract = angles ranges for each posture in posture_list.
description = start-end angle pairs which define each posture. optionally, default angle may be specified for each posture, by providing a third value. default posture angle is used e.g. in quick-jump-to-posture buttons in UI.
name = hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture
type = integer
default = 1
abstract = set folded status at a certain posture, e.g, fold-out device, posture flipped
name = hw.sensor.roll
type = boolean
default = no
abstract = Enalbe rollable sensor.
name = hw.sensor.roll.count
type = integer
default = 0
abstract = rollable sensor count.
name = hw.sensor.roll.radius
type = string
default =
abstract = roll radious of display width or height.
name = hw.sensor.roll.ranges
type = string
default =
abstract = the pecentage of display width or height which is rollable.
name = hw.sensor.roll.direction
type = string
default =
abstract = rolling direction starting from open posture. 0: left-to-right or top-to-buttom, 1: right-to-left or bottom-to-top
name = hw.sensor.roll.defaults
type = string
default =
abstract = defaults percentage of display width or height which is rolled.
name = hw.sensor.roll_percentages_posture_definitions
type = string
default =
abstract = angles ranges for each posture in posture_list.
name = hw.sensor.roll.resize_to_displayRegion.0.1_at_posture
type = integer
default = 6
abstract = resize default display to display region 0.1 when rolling to a posture state
name = hw.sensor.roll.resize_to_displayRegion.0.2_at_posture
type = integer
default = 6
abstract = resize default display to display region 0.2 when rolling to a posture state
name = hw.sensor.roll.resize_to_displayRegion.0.3_at_posture
type = integer
default = 6
abstract = resize default display to display region 0.3 when rolling to a posture state
# Heart rate sensor
name = hw.sensors.heart_rate
type = boolean
default = no
abstract = Heart rate support
description = Whether there is a heart rate sensor in the device
# File system
name = hw.useext4
type = boolean
default = yes
abstract = Deprecated option. Ignored.
description = Used to specify the Ext4 partition image type. This is now autodetected.
# Chrome OS devices
name = hw.arc
type = boolean
default = no
abstract = Chrome OS device (App Runtime for Chrome)
description = The emulated device is a Chrome OS machine.
# Autologin for Chrome OS devices
name = hw.arc.autologin
type = boolean
default = no
abstract = Auto login for Chrome OS devices
description = Used to enable auto login into Chrome OS devices
# Feature flags
name = hw.featureflags
type = string
default =
abstract = Feature flags
description = A comma-separated list of feature flags to enable or disable, such as 'Enabled,-Disabled'.
# Kernel image.
#
# kernel.path specified the path to the kernel image
# kernel.parameters specifies the string of kernel boot parameters.
#
name = kernel.path
type = string
default =
abstract = Path to the kernel image
description = Path to the kernel image.
name = kernel.parameters
type = string
default =
abstract = kernel boot parameters string.
name = kernel.newDeviceNaming
type = string
enum = autodetect, yes, no
default = autodetect
abstract = Does the kernel require a new device naming scheme?
description = Used to specify whether the kernel requires a new device naming scheme. Typically for Linux 3.10 and above.
name = kernel.supportsYaffs2
type = string
enum = autodetect, yes, no
default = autodetect
abstract = Does the kernel supports YAFFS2 partitions?
description = Used to specify whether the kernel supports YAFFS2 partition images. Typically before 3.10 only.
# Path to the ramdisk image.
name = disk.ramdisk.path
type = string
default =
abstract = Path to the ramdisk image
description = Path to the ramdisk image.
# System partition image(s).
#
# disk.systemPartition.path points to the read/write system partition image.
# if empty, a temporary file will be created, initialized with the content
# of .initPath
#
# disk.systemPartition.initPath is only used when .path is empty. It must
# then point to a read-only initialization system image file.
#
# disk.systemPartition.size is the ideal size of the system partition. The
# size is ignored if the actual system partition image is larger. Otherwise,
# it indicates the maximum size the disk image file can grow to.
#
name = disk.systemPartition.path
type = string
default =
abstract = Path to runtime system partition image
name = disk.systemPartition.initPath
type = string
default =
abstract = Initial system partition image
name = disk.systemPartition.size
type = diskSize
default = 0
abstract = Ideal size of system partition
# Vendor partition image(s).
name = disk.vendorPartition.path
type = string
default =
abstract = Path to runtime vendor partition image
name = disk.vendorPartition.initPath
type = string
default =
abstract = Initial vendor partition image
name = disk.vendorPartition.size
type = diskSize
default = 0
abstract = Ideal size of vendor partition
# Path to the data partition.
name = disk.dataPartition.path
type = string
default = <temp>
abstract = Path to data partition file
description = Path to data partition file. Cannot be empty. Special value <temp> means using a temporary file. If disk.dataPartition.initPath is not empty, its content will be copied to the disk.dataPartition.path file at boot-time.
# Initial path to the data partition.
name = disk.dataPartition.initPath
type = string
default =
abstract = Initial data partition
description = If not empty, its content will be copied to the disk.dataPartition.path file at boot-time.
# Data partition size.
name = disk.dataPartition.size
type = diskSize
default = 0
abstract = Ideal size of data partition
# Path to the data partition.
name = disk.encryptionKeyPartition.path
type = string
default =
abstract = Path to encryption key partition file
description = Path to encryption key partition file. Should be at least 16K bytes empty disk without any filesystem on it.
# Path to the snapshots storage file.
name = disk.snapStorage.path
type = string
default =
abstract = Path to snapshot storage
description = Path to a 'snapshot storage' file, where all snapshots are stored.
# Is the AVD compatible with Google Play?
name = PlayStore.enabled
type = boolean
default = no
abstract = PlayStore
description = Does the device supports Google Play?
# Android AVD name
# This is set automatically before launching a core.
#
name = avd.name
type = string
default = <build>
abstract = Name of the AVD being run
# Android AVD id
# This is set automatically before launching a core.
#
name = avd.id
type = string
default = <build>
abstract = ID of the AVD being run
# Force cold boot
# Don't use snapshots for quick booting but boot from scratch instead
#
name = fastboot.forceColdBoot
type = boolean
default = no
abstract = Always use cold boot
description = If set, AVD will always use the full cold boot instead of snapshot-based quick boot process
# SDK Path used during generation of this hardware configuration
name = android.sdk.root
type = string
default =
abstract = sdk root that was used during the construction of this hardware.ini
description = This can be used by post processing tools to migrate snapshots
# AVD home used during generation of this hardware configuration
name = android.avd.home
type = string
default =
abstract = avd home that was used during the construction of this hardware.ini
description = This can be used by post processing tools to migrate snapshots