blob: dee99aaba9b32dc4d793b0abe8eefe9e14733728 [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.
# See test_run_local_avd.sh for examples
echo Run a local AVD config in WORKDIR by Android Emulator engine from the SDK
OS="$(uname -s)"
echo Running on $OS
if [[ $OS == "Linux" ]]; then
DEFAULT_ANDROID_SDK_ROOT="$HOME/Android/Sdk"
elif [[ $OS == "Darwin" ]]; then
DEFAULT_ANDROID_SDK_ROOT="/Users/$USER/Library/Android/sdk"
else
echo Sorry, this does not work on $OS
exit
fi
if [[ -z $ANDROID_SDK_ROOT ]]; then
ANDROID_SDK_ROOT="$DEFAULT_ANDROID_SDK_ROOT"
fi
if [[ -z $WORKDIR ]]; then
WORKDIR="$HOME/workdir"
fi
if [[ -z $ANDROID_AVD_HOME ]]; then
ANDROID_AVD_HOME="$WORKDIR/.android/avd"
fi
if [[ -z $ABI ]]; then
ABI="x86_64"
fi
if [[ -z $AVD_IMAGE_DIR ]]; then
AVD_IMAGE_DIR="$WORKDIR/$ABI"
fi
if [[ -z $AVD_NAME ]]; then
AVD_NAME="my_car_avd_$ABI"
fi
if [[ -z $DISPLAY_DENSITY ]]; then
DISPLAY_DENSITY=213
fi
if [[ -z $DISPLAY_WIDTH ]]; then
DISPLAY_WIDTH=1920
fi
if [[ -z $DISPLAY_HEIGHT ]]; then
DISPLAY_HEIGHT=1080
fi
if [[ -z $RAM_MB ]]; then
# 3.5 GB as x86 AVD is limited to 4g
RAM_MB=3584
fi
# Get the script dir
MY_NAME=$0
MY_FILENAME=${MY_NAME##*/} # = "name.sh"
MY_DIR=${MY_NAME%/$MY_FILENAME} # = "/path/to"
if ! [[ -f "$ANDROID_AVD_HOME/$AVD_NAME.avd/config.ini" ]]; then
# Create the AVD config as there is no one
$MY_DIR/create_avd_config.sh "$AVD_NAME" "$WORKDIR" "$AVD_IMAGE_DIR" \
"$DISPLAY_DENSITY" "$DISPLAY_WIDTH" "$DISPLAY_HEIGHT" "$RAM_MB" "$ABI"
fi
echo Running "$ANDROID_AVD_HOME/$AVD_NAME.avd" by $ANDROID_SDK_ROOT
# Tell emu where to find my car AVD & SDK
ANDROID_AVD_HOME=$ANDROID_AVD_HOME \
ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT \
$ANDROID_SDK_ROOT/emulator/emulator \
-avd $AVD_NAME \
$@ &
echo
sleep 30
echo a. Supported features
adb shell pm list features
echo
echo b. GAS versions
adb shell pm list packages --show-versioncode | grep google
adb shell pm list packages --show-versioncode | grep vending
echo
echo c. AVD Memory Info
adb shell "cat /proc/meminfo"
echo
echo d. AVD Prop and processes
adb shell getprop
adb shell ps