# 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' 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' 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 = abstract = Path to data partition file description = Path to data partition file. Cannot be empty. Special value 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 = abstract = Name of the AVD being run # Android AVD id # This is set automatically before launching a core. # name = avd.id type = string default = 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