# 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 forceColdBoot forall AVD config.ini files. If TAG_ID of AVD is empty, it will change all AVDs. e.g.
FORCE_COLD_BOOT="yes" AVD_ROOT_DIR="$HOME/.android/avd" TAG_ID="android-automotive" ./set_avds_force_cold_boot.sh '''
}
# 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
# Export VAR with the value of the key in a file as: # getValue "VAR" "KEY" "config.ini FILE" # e.g. getValue "MY_AVD_ID" "AvdId" "$avd_dir/config.ini"
getValue() {
VAR=$1
KEY=$2
FILE=$3
LINE=$(cat $FILE | grep $KEY)
VALUE=${LINE##*=} export"${VAR}=$VALUE" echo"${VAR}=$VALUE"
}
# Set Cold Boot or Quick/Fast Boot for an AVD as: # setForceColdBoot "ForceColdBoot" "ForceFastBoot" "config.ini FILE" # e.g. setForceColdBoot "yes" "no" "$avd_dir/config.ini"
setForceColdBoot() {
forceColdBoot=$1
forceFastBoot=$2
avdConfig=$3
# Set Cold Boot or Quick/Fast Boot for an AVD as: # setAllAVDsForceColdBoot "ForceColdBoot" "ForceFastBoot" "AVD/ROOT/DIR" "TAG.ID" # e.g. setAllAVDsForceColdBoot "yes" "no" "$HOME/.android/avd" "android-automotive"
setAllAVDsForceColdBoot() {
forceColdBoot=$1
forceFastBoot=$2
avdRootDir=$3
avdTagId=$4
for file in $(ls "$avdRootDir"); do
avd_dir="$avdRootDir/$file" if [[ $file == *.avd ]]; then # Filter AVD type by TAG_ID
config_file="$avd_dir/config.ini"
getValue "myAvdId""AvdId" $config_file if [[ -n $avdTagId ]]; then
getValue "myAvdTagId""tag.id" $config_file if [[ $myAvdTagId != $avdTagId ]]; then echo"SKIP: $myAvdId is $myAvdTagId rather $avdTagId" echo
continue fi fi
setForceColdBoot $forceColdBoot $forceFastBoot $config_file echo fi done
}
if [[ -z $AVD_ROOT_DIR ]]; then
AVD_ROOT_DIR="$HOME/.android/avd" fi echo"AVD_ROOT_DIR=$AVD_ROOT_DIR"
if [[ -z $FORCE_COLD_BOOT ]]; then
FORCE_COLD_BOOT="yes" fi echo"FORCE_COLD_BOOT=$FORCE_COLD_BOOT"
case "$FORCE_COLD_BOOT" in
yes)
setAllAVDsForceColdBoot "yes""no" $AVD_ROOT_DIR $TAG_ID
;;
no)
setAllAVDsForceColdBoot "no""yes" $AVD_ROOT_DIR $TAG_ID
;;
*)
readme
;;
esac
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
(vorverarbeitet am 2026-06-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.