4

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

从源代码中ActivityManagerNative尝试到getDefault()ActivityManagerService,这是不可用的,那么如何启动ActivityManagerService或实际触发它的进程呢?

我开始错误日志和 logcat 打印

在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

4

1 回答 1

3

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

问题的原因是SystemServerzygotesystem_server进程启动就像大多数系统服务在其中运行的主机进程一样。它尝试启动服务并在失败的情况下死亡。

如何开始ActivityManagerService或哪个过程实际触发它?

你不能手动完成。SystemServer负责启动服务

所以也许我需要同时禁用 DisplayManagerS 和 Battery Service?

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

于 2016-10-28T22:42:00.027 回答