blob: f1f672f3415759a303289714d69f9fdb2abf5cbe [file] [log] [blame]
#!/bin/bash
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Creates an car AVD configuration
#
# Arguments:
# $1: (AVD_NAME) Name of the AVD
# $2: (WORKDIR) where to store the avd config
# $3: (AVD_IMAGE_DIR) AVD System image dir
# $4: (DISPLAY_DENSITY) Display density
# $5: (DISPLAY_WIDTH) Display width px
# $6: (DISPLAY_HEIGHT) Display height px
# $7: (RAM_MB) AVD RAM size in MB
# $8: (ABD) AVD ABI, e.g. x86 or x86_64
AVD_NAME=$1
WORKDIR=$2
AVD_IMAGE_DIR=$3
DISPLAY_DENSITY=$4
DISPLAY_WIDTH=$5
DISPLAY_HEIGHT=$6
RAM_MB=$7
ABI=$8
mkdir -p ${WORKDIR}/.android/avd/${AVD_NAME}.avd
# avd_name.ini
AVD_INI_FILE=${WORKDIR}/.android/avd/${AVD_NAME}.ini
echo Creating $AVD_INI_FILE
echo "avd.ini.encoding=UTF-8" >> $AVD_INI_FILE
echo "path=${WORKDIR}/.android/avd/${AVD_NAME}.avd" >> $AVD_INI_FILE
echo "path.rel=avd/${AVD_NAME}.avd" >> $AVD_INI_FILE
# avd_name.avd/config.ini
AVD_CONFIG_INI=${WORKDIR}/.android/avd/${AVD_NAME}.avd/config.ini
echo Creating $AVD_CONFIG_INI $DISPLAY_WIDTH x $DISPLAY_HEIGHT @ $DISPLAY_DENSITY with $RAM_MB
echo AVD Img: $AVD_IMAGE_DIR
cat <<EOT >> $AVD_CONFIG_INI
image.sysdir.1 = ${AVD_IMAGE_DIR}
hw.lcd.density = ${DISPLAY_DENSITY}
hw.lcd.width = ${DISPLAY_WIDTH}
hw.lcd.height = ${DISPLAY_HEIGHT}
AvdId = ${AVD_NAME}
avd.ini.displayname = ${AVD_NAME}
hw.ramSize = ${RAM_MB}
abi.type = ${ABI}
tag.display = Automotive
tag.id = android-automotive
hw.device.manufacturer = google
hw.device.name = hawk
avd.ini.encoding = UTF-8
disk.dataPartition.size = 6442450944
fastboot.chosenSnapshotFile =
fastboot.forceChosenSnapshotBoot = no
fastboot.forceColdBoot = no
fastboot.forceFastBoot = yes
hw.accelerometer = no
hw.arc = false
hw.audioInput = yes
hw.battery = no
hw.camera.back = None
hw.camera.front = None
hw.cpu.arch = x86_64
hw.cpu.ncore = 4
hw.dPad = no
hw.device.hash2 = MD5:1fdb01985c7b4d7c19ec309cc238b0f9
hw.gps = yes
hw.gpu.enabled = yes
hw.gpu.mode = auto
hw.initialOrientation = landscape
hw.keyboard = yes
hw.keyboard.charmap = qwerty2
hw.keyboard.lid = false
hw.mainKeys = no
hw.sdCard = no
hw.sensors.orientation = no
hw.sensors.proximity = no
hw.trackBall = no
runtime.network.latency = none
runtime.network.speed = full
EOT