AOSP ActivityManager 不是 运行

AOSP ActivityManager not running

我正在尝试将 Android 7.0 移植到定制的 HW 平台并具有 zygote 运行 背景。但是,当我尝试使用 am start <> 启动应用程序时,出现错误 “无法连接到 activity 管理器;是系统 运行 吗?”.之后我做了 service list 并发现 activity:[android.app.IActivityManager] 不是 运行 (我不知道为什么)。我实际上是 AOSP 的新手,但如何通过键入单个 shell 命令来启动 AM 服务? 我已附上错误消息和 logcat 打印。

从源代码来看,ActivityManagerNative 尝试 ActivityManagerServicegetDefault(),这是不可用的,那么如何启动 ActivityManagerService 或哪个进程实际触发它?

AndroidExceptionCan't connect to activity manager; is the system running? 表示 ActivityManagerService 不是 运行 以及 运行 服务列表中反映的其他核心系统服务。

问题的原因是SystemServerStarted by zygote the system_server process acts like a host process for most of the system services to run in. It tries to start the services 失败时死亡。

How to start ActivityManagerService or which process actually trigger it?

您不能手动完成。 SystemServer负责starting the service.

So maybe I need to disable both DisplayManagerS and Battery Service?

尽管您可以通过修改 ro.factorytestro.headless 系统属性来影响 SystemServer 的启动行为,但要禁用这些特定服务,您应该编辑 SystemServer.java 手动注释掉相应的代码行。