# How to Install and Create Emulators using AVDMANAGER and SDKMANAGER ## Installing system images We pre-install these system images on the base build agent to provide our project teams the ability to run emulators on a range of API levels, from API 19 to API 28. X86 is the fastest architecture for emulators, though x86_64 would probably be better to test against because most phones are 64 bit now. ### KITKAT (4.4) `sdkmanager --install "system-images;android-19;google_apis;x86"` ### LOLLIPOP (5.0) `sdkmanager --install "system-images;android-21;google_apis;x86"` (5.1) `sdkmanager --install "system-images;android-22;google_apis;x86"` ### MARSHMELLOW (6.0) `sdkmanager --install "system-images;android-23;google_apis;x86"` ### NOUGAT (7.0) `sdkmanager --install "system-images;android-24;google_apis;x86"` (7.1) `sdkmanager --install "system-images;android-24;google_apis;x86"` ### OREO (8.0) `sdkmanager --install "system-images;android-26;google_apis;x86"` (8.1) `sdkmanager --install "system-images;android-27;google_apis;x86"` ### PIE (9.0) `sdkmanager --install "system-images;android-28;google_apis;x86"` ## Using AVDMANAGER to create emulator `echo "no" | avdmanager --verbose create avd --force --name "pixel_7.0" --device "pixel" --package "system-images;android-24;google_apis;x86" --tag "google_apis" --abi "x86"` ## TODO: 1) Certain emulators, like Pixel, need to be started at a higher resolution than default oem emulators. Either define this in the `~/.android/avd/{name of avd}/config.ini` file, or start emulator with `-skin {RESOLUTION}`. 2) Find devices with `avdmanager list` `avdmanager list target` `avdmanager list devices` `avdmanager list avd` ``` text - avdmanager list : Lists existing targets or virtual devices. - avdmanager list avd : Lists existing Android Virtual Devices. - avdmanager list target : Lists existing targets. - avdmanager list device : Lists existing devices. ```