110 lines
2.6 KiB
Bash
Executable File
110 lines
2.6 KiB
Bash
Executable File
#!/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
|