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