Create Android Virtual Devices (AVD)
tags: uncategorized
Create Android Virtual Devices (AVD)
The AVD Manager CLI tool avdmanager
is included in the Android SDK command-line tools package.
The SDK manager tool sdkmanager
installs and updates packages. First download the latest version of “Command line tools only” .zip file from https://developer.android.com/studio#command-line-tools-only. Then use sdkmanager
to reinstall cmdline-tools
as a package in an appropriate location.
mkdir -p /path/to/sdk/
unzip commandlinetools-linux-11076708_latest.zip
cmdline-tools/bin/sdkmanager --sdk_root=/path/to/sdk 'cmdline-tools;latest'
export "PATH=${PATH}:/path/to/sdk/cmdline-tools/latest/bin"
sdkmanager --list_installed
Use avdmanager
to create virtual device. A system image and the emulator must be installed first.
sdkmanager --list | grep system-images
# install the emulator, a system image (with play store), an SDK platform, and the platform tools
sdkmanager emulator 'system-images;android-35;google_apis_playstore;x86_64' 'platforms;android-35' platform-tools
# list device definitions (e.g. pixel_8)
avdmanager list device --compact
avdmanager create avd --name pixel8_api35 --package 'system-images;android-35;google_apis_playstore;x86_64' --device pixel_8
avdmanager create avd --name desktop_medium_api35 --package 'system-images;android-35;google_apis_playstore;x86_64' --device desktop_medium
# list available Andoid virtual devices
avdmanager list avd
# edit device settings
vim ~/.android/avd/desktop_medium_api35.avd/config.ini
# PlayStore.enabled = yes
Start the Android device with emulator
.
export ANDROID_SDK_ROOT=/path/to/sdk
export "PATH=${PATH}:${ANDROID_SDK_ROOT}/emulator"
# show help
emulator -help-all
emulator -help-environment # help on environment variables
# list all created AVDs
emulator -list-avds
# desktop_medium_api35
# pixel8_api35
# start the emulator (close its window to exit)
emulator -avd desktop_medium_api35
#
emulator -avd desktop_medium_api35 -wipe-data
Rename a virtual device.
avdmanager move avd --name desktop_medium_api35 --rename desktop_medium_api35_old
Delete a virtual device.
avdmanager delete avd --name pixel8_api35