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.

79 lines
2.0 KiB

#!/bin/bash
# Copyright (C) 2021 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.
readme() {
echo '''
Change an AVD configuration for bigger RAM, heap & data-disk sizes. So it can perform better. e.g.
RAM=4096 HEAP=576 DATA_DISK=6000 AVD_DIR="$HOME/.android/avd/Automotive_10_landscape_API_30.avd" ./patch_avd.sh
'''
}
if [[ -z $AVD_DIR ]]; then
readme
exit
fi
# set up for Linux or macOS
OS="$(uname -s)"
echo "Running on $OS"
if [[ $OS == "Linux" ]]; then
SED_I_CMD="sed -i "
elif [[ $OS == "Darwin" ]]; then
SED_I_CMD="sed -i ''"
else
echo "ERROR: this does not work on $OS"
exit
fi
MY_NAME=$0
SCRIPT_NAME=${MY_NAME##*/}
SCRIPT_DIR=${MY_NAME%/$SCRIPT_NAME}
echo Running from $SCRIPT_DIR
if [[ -z $RAM ]]; then
RAM=4096
fi
echo "RAM=$RAM"
if [[ -z $HEAP ]]; then
HEAP=576
fi
echo "HEAP=$HEAP"
if [[ -z $DATA_DISK ]]; then
DATA_DISK=6000
fi
echo "DATA_DISK=$DATA_DISK"
AVD_CONFIG="$AVD_DIR/config.ini"
if [[ ! -e $AVD_CONFIG ]]; then
echo "ERROR: no AVD config file at: $AVD_CONFIG"
exit
fi
echo "AVD_CONFIG=$AVD_CONFIG"
echo "CHANGE: hw.ramSize=$RAM, vm.heapSize=$HEAP & disk.dataPartition.size=${DATA_DISK}M in $AVD_CONFIG"
$SED_I_CMD '/^hw.ramSize/d' $AVD_CONFIG
$SED_I_CMD '/^vm.heapSize/d' $AVD_CONFIG
$SED_I_CMD '/^disk.dataPartition.size/d' $AVD_CONFIG
echo "hw.ramSize=$RAM" >> $AVD_CONFIG
echo "vm.heapSize=$HEAP" >> $AVD_CONFIG
echo "disk.dataPartition.size=${DATA_DISK}M" >> $AVD_CONFIG
cat $AVD_CONFIG | grep "hw.ramSize"
cat $AVD_CONFIG | grep "vm.heapSize"
cat $AVD_CONFIG | grep "disk.dataPartition.size"