| #!/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" |