Reputation: 401
How can I run emulator without GUI (headless Android)?
My requirement is to run the headless Android on the emulator. Is it correct if I use ro.config.headless 1
? Or disable zygote?
Upvotes: 30
Views: 47132
Reputation: 21
I was facing an issue with the emulator not running after building AOSP on my ssh server ubuntu 18.4.
emulator: WARNING: system partition size adjusted to match image file (2562 MB > 800 MB) QXcbConnection: Could not connect to display Aborted (core dumped)
I used emulator -no-window
and I found the emulator process started.
now I can use ADB to verify AOSP changes
Upvotes: 0
Reputation: 32117
As of 29.2.11
, you need to use the -no-window
option instead of the emulator-headless
binary:
The binary
emulator-headless
is now retired. Headless builds of the engine are now launched viaemulator -no-window
, thus unifying the previously separate (but similar) paths.
https://androidstudio.googleblog.com/2019/12/emulator-29211-and-amd-hypervisor-12-to.html
Upvotes: 13
Reputation: 5122
Android Emulator 28.1.8 now supports running the emulator in headless mode (emulator-headless
): https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html
Upvotes: 8
Reputation: 19959
One of the options to achieve that is to stop zygote
service when an emulator running. When stopping the zygote
process (aka app_process
) all of the system services, that were forked from zygote
at system boot, shuts down. Only a few native system services will be running. The emulator's display should show the startup logo (or animation).
The steps for stopping zygote
are as follows:
adb shell
su
(most of emulator images have /system/xbin/su
)stop zygote
After that you can explore how less services are running with service list
. Critical for Android Runtime services will be stopped, e.g.
activity: [] // ActivityManager
package: [] // PackageManager
display: [] // DisplayManager
...
To start zygote
execute:
start zygote
Note: with the @CommonsWare's solution you are still going to have zygote
and most of the Android system services running.
Upvotes: 2