1*b32fbb63SXin Li#!/bin/bash 2*b32fbb63SXin Li 3*b32fbb63SXin Li# Copyright (C) 2021 The Android Open Source Project 4*b32fbb63SXin Li# 5*b32fbb63SXin Li# Licensed under the Apache License, Version 2.0 (the "License"); 6*b32fbb63SXin Li# you may not use this file except in compliance with the License. 7*b32fbb63SXin Li# You may obtain a copy of the License at 8*b32fbb63SXin Li# 9*b32fbb63SXin Li# http://www.apache.org/licenses/LICENSE-2.0 10*b32fbb63SXin Li# 11*b32fbb63SXin Li# Unless required by applicable law or agreed to in writing, software 12*b32fbb63SXin Li# distributed under the License is distributed on an "AS IS" BASIS, 13*b32fbb63SXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*b32fbb63SXin Li# See the License for the specific language governing permissions and 15*b32fbb63SXin Li# limitations under the License. 16*b32fbb63SXin Li 17*b32fbb63SXin Lireadme() { 18*b32fbb63SXin Li echo ''' 19*b32fbb63SXin LiChange an AVD configuration for bigger RAM, heap & data-disk sizes. So it can perform better. e.g. 20*b32fbb63SXin LiRAM=4096 HEAP=576 DATA_DISK=6000 AVD_DIR="$HOME/.android/avd/Automotive_10_landscape_API_30.avd" ./patch_avd.sh 21*b32fbb63SXin Li 22*b32fbb63SXin Li''' 23*b32fbb63SXin Li} 24*b32fbb63SXin Li 25*b32fbb63SXin Liif [[ -z $AVD_DIR ]]; then 26*b32fbb63SXin Li readme 27*b32fbb63SXin Li exit 28*b32fbb63SXin Lifi 29*b32fbb63SXin Li 30*b32fbb63SXin Li# set up for Linux or macOS 31*b32fbb63SXin LiOS="$(uname -s)" 32*b32fbb63SXin Liecho "Running on $OS" 33*b32fbb63SXin Liif [[ $OS == "Linux" ]]; then 34*b32fbb63SXin Li SED_I_CMD="sed -i " 35*b32fbb63SXin Lielif [[ $OS == "Darwin" ]]; then 36*b32fbb63SXin Li SED_I_CMD="sed -i ''" 37*b32fbb63SXin Lielse 38*b32fbb63SXin Li echo "ERROR: this does not work on $OS" 39*b32fbb63SXin Li exit 40*b32fbb63SXin Lifi 41*b32fbb63SXin Li 42*b32fbb63SXin LiMY_NAME=$0 43*b32fbb63SXin LiSCRIPT_NAME=${MY_NAME##*/} 44*b32fbb63SXin LiSCRIPT_DIR=${MY_NAME%/$SCRIPT_NAME} 45*b32fbb63SXin Liecho Running from $SCRIPT_DIR 46*b32fbb63SXin Li 47*b32fbb63SXin Liif [[ -z $RAM ]]; then 48*b32fbb63SXin Li RAM=4096 49*b32fbb63SXin Lifi 50*b32fbb63SXin Liecho "RAM=$RAM" 51*b32fbb63SXin Li 52*b32fbb63SXin Liif [[ -z $HEAP ]]; then 53*b32fbb63SXin Li HEAP=576 54*b32fbb63SXin Lifi 55*b32fbb63SXin Liecho "HEAP=$HEAP" 56*b32fbb63SXin Li 57*b32fbb63SXin Liif [[ -z $DATA_DISK ]]; then 58*b32fbb63SXin Li DATA_DISK=6000 59*b32fbb63SXin Lifi 60*b32fbb63SXin Liecho "DATA_DISK=$DATA_DISK" 61*b32fbb63SXin Li 62*b32fbb63SXin LiAVD_CONFIG="$AVD_DIR/config.ini" 63*b32fbb63SXin Liif [[ ! -e $AVD_CONFIG ]]; then 64*b32fbb63SXin Li echo "ERROR: no AVD config file at: $AVD_CONFIG" 65*b32fbb63SXin Li exit 66*b32fbb63SXin Lifi 67*b32fbb63SXin Liecho "AVD_CONFIG=$AVD_CONFIG" 68*b32fbb63SXin Li 69*b32fbb63SXin Liecho "CHANGE: hw.ramSize=$RAM, vm.heapSize=$HEAP & disk.dataPartition.size=${DATA_DISK}M in $AVD_CONFIG" 70*b32fbb63SXin Li$SED_I_CMD '/^hw.ramSize/d' $AVD_CONFIG 71*b32fbb63SXin Li$SED_I_CMD '/^vm.heapSize/d' $AVD_CONFIG 72*b32fbb63SXin Li$SED_I_CMD '/^disk.dataPartition.size/d' $AVD_CONFIG 73*b32fbb63SXin Liecho "hw.ramSize=$RAM" >> $AVD_CONFIG 74*b32fbb63SXin Liecho "vm.heapSize=$HEAP" >> $AVD_CONFIG 75*b32fbb63SXin Liecho "disk.dataPartition.size=${DATA_DISK}M" >> $AVD_CONFIG 76*b32fbb63SXin Licat $AVD_CONFIG | grep "hw.ramSize" 77*b32fbb63SXin Licat $AVD_CONFIG | grep "vm.heapSize" 78*b32fbb63SXin Licat $AVD_CONFIG | grep "disk.dataPartition.size" 79