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?
AndroidException:
Can't connect to activity manager; is the system running?
meansActivityManagerService
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 byzygote
thesystem_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.You can't do it manually.
SystemServer
is responsible for starting the service.Despite the fact that you can effect the startup behavior of
SystemServer
by modifying thero.factorytest
andro.headless
system properties, for disabling these particular services you should editSystemServer.java
manually by commenting out the corresponding lines of code.