在没有GUI的情况下运行Android模拟器(无头Android)

问题描述 投票:16回答:3

如何在没有GUI(无头Android)的情况下运行模拟器?

我的要求是在模拟器上运行无头Android。如果我使用ro.config.headless 1,这是正确的吗?或者禁用zygote?

android android-emulator adb headless
3个回答
2
投票

实现这一目标的一个选择是在模拟器运行时停止zygote服务。当停止zygote进程(又名app_process)时,系统启动时从zygote分叉的所有系统服务都会关闭。只会运行少数本机系统服务。模拟器的显示应显示启动徽标(或动画)。

停止zygote的步骤如下:

  • adb shell
  • su(大多数模拟器图像有/system/xbin/su
  • stop zygote

之后,您可以探索使用service list运行的服务的减少程度。 Android运行时服务的关键将被停止,例如

activity: [] // ActivityManager
package: [] // PackageManager
display: [] // DisplayManager
...

要启动zygote执行:

  • start zygote

注意:使用@CommonsWare的解决方案,您仍然可以运行zygote和大多数Android系统服务。


2
投票

Android Emulator 28.1.8现在支持在无头模式下运行模拟器(emulator-headless):https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html

© www.soinside.com 2019 - 2024. All rights reserved.