# 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 host-common/hw-config.h)
#
#  - once to implement the hardware configuration loader
#    (see host-common/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.

# Accelerometer (uncalibrated)
name        = hw.accelerometer_uncalibrated
type        = boolean
default     = yes
abstract    = AccelerometerUncalibrated
description = Whether there is an uncalibrated 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.

name        = hw.lcd.circular
type        = boolean
default     = false
abstract    = Display is circular
description = Specifies if the main display is circular (round). Default: false.

# 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        = hw.multi_display_window
type        = boolean
default     = no
abstract    = Create a window for each display
description = When multidisplay enabled, enabling this flag will create a window for each display.

name        = display.settings.xml
type        = string
enum        = freeform, ...
default     =
abstract    = Configure setting xml file for Android Window Manager

name        = hw.hotplug_multi_display
type        = boolean
default     = no
abstract    = If yes, create multidisplay using HAL hotplug display, otherwise, using 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.

# RGBC light sensor
name        = hw.sensors.rgbclight
type        = boolean
default     = no
abstract    = RGBC light sensor support
description = Provides RGBC light sensor values.

# Hinge angle sensor
name        = hw.sensor.hinge
type        = boolean
default     = no
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.resizable.config
type        = integer
default     = 1
abstract    = For resizable only: this indicates the hinge config applies to which avd

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

# Wrist title gesture sensor
name        = hw.sensors.wrist_tilt
type        = boolean
default     = no
abstract    = Wrist tilt gesture
description = Whether there is a wrist tilt gesture 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'.

name        = hw.device.name
type        = string
default     =
abstract    = Name of the device, e.g., pixel, resizable...# Kernel image.

name        = hw.resizable.configs
type        = string
default     =
description = A comma-separated list of resizable resolutions. Each entry is organized as name-id-width-height-dpi, where the id number matches enum in android/android-emu/android/resizable_display_config.h

# Kernal 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

# force to use Qcow2 instead of ext4 for userdata
#
name        = userdata.useQcow2
type        = boolean
default     = no
abstract    = use QCOW2 format for userdata-qemu.img
description = If set, AVD will use qcow2 for userdata-qemu.img instead of the ext4


name        = firstboot.downloaded.path
type        = string
default     =
abstract    = Path to downloaded snapshot dir

name        = firstboot.local.path
type        = string
default     =
abstract    = Path to local snapshot dir

# use Downloadable snapshot from snapshots/downloaded/avd to speed up first boot
#
name        = firstboot.bootFromDownloadableSnapshot
type        = boolean
default     = yes
abstract    = Always use downloaded snapshot to speed up first boot
description = If set, AVD will always use the snapshots/downloaded/avd to speed up first boot


# use Local snapshot at snapshots/local/avd to speed up first boot
#
name        = firstboot.bootFromLocalSnapshot
type        = boolean
default     = yes
abstract    = Always use local snapshot to speed up first boot
description = If set, AVD will always use the snapshots/local/avd to speed up first boot

# save a local snapshot at snapshots/local/avd to speed up subsequent first boot
#
name        = firstboot.saveToLocalSnapshot
type        = boolean
default     = yes
abstract    = Always save a local snapshot to speed up first boot
description = If set, AVD will save a snapshot to snapshots/local/avd, if it does not exist

# 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

# emulator version for this avd
name        = requires.emulator.version
type        = string
default     =
abstract    = avd requires the version of emulator to boot properly from snapshot
description = This is often set by avd manager in studio when creating avd

