georgewhr georgewhr - 1 month ago 13
Android Question

AOSP ActivityManager not running

I'm trying to port

Android
7.0 into a customized HW platform and have
zygote
running background. But when I tried to start an app by using
am start <>
, it gives error "Can't connect to activity manager; is system running?". After that I did
service list
and found out that the
activity:[android.app.IActivityManager]
is not running (I don't know why). I'm actually kinda new to AOSP, but how could I start the
AM
service by typing a single shell command?
I have attached the error message and logcat prints.

From the source code the
ActivityManagerNative
tries to
getDefault()
of
ActivityManagerService
, which is not available, so how to start
ActivityManagerService
or which process actually trigger it?

am start error log and logcat prints

enter image description here

enter image description here
enter image description here

enter image description here

Answer

AndroidException: Can't connect to activity manager; is the system running? means ActivityManagerService is not running as well as other core system services as reflected in the list of running services.

The cause of the problem is SystemServer. Started 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 and dies in case of failure.

How to start ActivityManagerService or which process actually trigger it?

You can't do it manually. SystemServer is responsible for starting the service.

Regarding the exception, it seems like BatteryStatsService is failing due to KernelWakelockReader not being able to read either /proc/wakelocks or /d/wakeup_sources that seem not to exist by the time of polling (try to cat the pseudofiles). This might be the kernel issue (improperly patched/configured).

Comments