Comment on page
Running headless Android Emulator
Posted on 09 Feb, 2022
- 1.Create an AVDecho no | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/avdmanager create avd --force -n test --abi 'google_apis_playstore/x86' --package 'system-images;android-28;google_apis_playstore;x86' --device 'Nexus 6'
- 2.Boot the Emulator$ANDROID_SDK_ROOT/emulator/emulator -avd test -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-animYou will see an output similar like thisemulator: Android emulator version 30.7.5.0 (build_id 7491168) (CL:N/A)handleCpuAcceleration: feature check for hvfemulator: feeding guest with passive gps data, in headless modecannot add library /Users/cs/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.dylib: failedadded library /Users/cs/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylibemulator: INFO: GrpcServices.cpp:315: Started GRPC server at 127.0.0.1:8554, security: Localemulator: INFO: EmulatorAdvertisement.cpp:93: Advertising in: /Users/cs/Library/Caches/TemporaryItems/avd/running/pid_60753.iniemulator: Cold boot: requested by the userYour emulator is out of date, please update by launching Android Studio:- Start Android Studio- Select menu "Tools > Android > SDK Manager"- Click "SDK Tools" tab- Check "Android Emulator" checkbox- Click "OK"emulator: INFO: boot completedemulator: INFO: boot time 26292 msemulator: Increasing screen off timeout, logcat buffer size to 2M.emulator: Revoking microphone permissions for Google App.If you already have an AVD setup, use
-list-avds
flag to list available avds and provide that in argument to-avd
above.$ANDROID_SDK_ROOT/emulator/emulator -list-avds - 3.Verify emulator is successfully booted (required in case if you run the above command in background)$ANDROID_SDK_ROOT/platform-tools/adb shell getprop sys.boot_completedThis will return
1
if emulator is running.
Note:ANDROID_SDK_ROOT
points to/Users/user/Library/Android/sdk/
name: Emulator Test
on:
push:
workflow_dispatch:
jobs:
integration_test:
runs-on: ubuntu-latest
name: "Android"
steps:
- uses: actions/checkout@v2
- name: "Check android emulator"
run: |
$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install 'build-tools;31.0.0' platform-tools 'platforms;android-29' > /dev/null
$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install emulator --channel=0 > /dev/null
$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install 'system-images;android-29;default;x86_64' --channel=0 > /dev/null
echo no | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/avdmanager create avd --force -n test --abi 'default/x86_64' --package 'system-images;android-29;default;x86_64' --device 'Nexus 6'
- 1.You can also record the session/screen using the
-record-session
flag. Specially useful when running emulator in headless mode$ANDROID_SDK_ROOT/emulator/emulator -avd Pixel_2_API_27 -no-window -gpu swiftshader_indirect -no-snapshot -record-session filename.webm,7s