Как запустить эмулятор без GUI (безголовый Android)?
Мое требование - запустить безголовый Android на эмуляторе. Правильно ли, если я использую ro.config.headless 1? Или отключить зиготу?
Как запустить эмулятор без GUI (безголовый Android)?
Мое требование - запустить безголовый Android на эмуляторе. Правильно ли, если я использую ro.config.headless 1? Или отключить зиготу?
От: http://paulemtz.blogspot.com/2013/05/android-testing-in-headless-emulator.html
Затем, чтобы запустить безголовый эмулятор:
emulator -avd test -no-audio -no-window
Опция -no-skin удаляет кнопки эмулятора, такие как кнопки home и другие аппаратные кнопки клавиатуры.
Опция -no-audio отключает поддержку звука.
Наконец, опция -no-window отключает отображение графического окна эмулятора.
Обратите внимание, что -avd test необходимо изменить, чтобы он ссылался на ваш конкретный образ эмулятора (AVD).
Один из вариантов этого - остановить службу zygote при запуске эмулятора. При остановке zygote процесса (иначе app_process) все системных служб, которые были раздвоенные из zygote при загрузке системы отключается. Будет запущено только несколько собственных системных служб. На дисплее эмулятора должен отображаться логотип запуска (или анимация).
Шаги для остановки zygote заключаются в следующем:
adb shellsu (большинство изображений эмулятора имеют /system/xbin/su)stop zygote После этого вы можете узнать, как работает меньше сервисов с service list. Критические для службы Runtime для Android будут остановлены, например
activity: [] // ActivityManager
package: [] // PackageManager
display: [] // DisplayManager
...
Для запуска zygote выполните:
start zygote Примечание. При использовании решения @CommonsWare у вас все еще будет zygote и большинство системных служб Android.
Android Emulator 28.1.8 теперь поддерживает запуск эмулятора в автономном режиме (emulator-headless.sh): https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html.