# Installs Android Emulator standalone, and creates a default emulator. You shouuld be able to # re-run this script if it fails, everything should be redone set -x sudo apt-get update && sudo apt-get install -y openjdk-11-jdk export ANDROID_SDK_ROOT=/home/$USER/android_sdk_root rm -rf $ANDROID_SDK_ROOT mkdir -p $ANDROID_SDK_ROOT CMD_LINE_TOOLS_URL=https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip CMD_LINE_TOOLS_SHA256=d71f75333d79c9c6ef5c39d3456c6c58c613de30e6a751ea0dbd433e8f8b9cbf wget -O command_line_tools.zip $CMD_LINE_TOOLS_URL echo "$CMD_LINE_TOOLS_SHA256 command_line_tools.zip" | sha256sum -c - unzip command_line_tools.zip -d $ANDROID_SDK_ROOT export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/bin API_VER=30 echo yes | sdkmanager --sdk_root=$ANDROID_SDK_ROOT "system-images;android-$API_VER;google_apis;x86_64" "platforms;android-$API_VER" echo yes | sdkmanager --sdk_root=$ANDROID_SDK_ROOT "emulator" "platform-tools" export PATH=$PATH:$ANDROID_SDK_ROOT/emulator export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools avdmanager --verbose create avd --force \ --name "emu1" \ --device "pixel" \ --package "system-images;android-$API_VER;google_apis;x86_64" \ --tag "google_apis" \ --abi "x86_64" sed -i 's/android_sdk_root\///g' /home/lz/.android/avd/emu1.avd/config.ini # the live above changes image.sysdir.1 = android_sdk_root/system-images/android-30/google_apis/x86_64/ # to image.sysdir.1 = system-images/android-30/google_apis/x86_64/ # Socat redirection: https://gist.github.com/lattice0/0040c1d29606c7a8f34c3b5b78814fdb #Launch: ANDROID_SDK_ROOT=/home/lz/android_sdk_root ANDROID_AVD_HOME=$ANDROID_SDK_ROOT/.android/avd /home/lz/android_sdk_root/emulator/emulator -verbose @emu1 #ADB redirection: # On Host #socat tcp-listen:5037,bind=192.168.122.1,reuseaddr,fork tcp:localhost:5037 # On virtual machine #socat tcp-listen:5037,bind=localhost,reuseaddr,fork tcp:192.168.122.1:5037