在嵌入式Android一书中,它说
In init.rc, only an action results in the execution of commands. Service declarations only serve to describe services, they do not actually start anything... (page 246).
那么,Android系统服务(如servicemanager、vold)是从哪里启动的呢?我认为它们是通过以下几行在 init.rc 中启动的。但是按照书上的说法,我错了。
service servicemanager \/system/bin/servicemanager
service vold /system/bin/vold
最佳答案
我找到了答案。
“服务声明仅用于描述服务,它们实际上并不启动任何东西”的说法是正确的。 native 守护进程实际上是通过以下几行在 init.rc 中启动的: (https://android.googlesource.com/platform/system/core/+/master/rootdir/init.rc 中的第 371-372 行)
- class_start 核心
- class_start main
属于 core 类和 main 类的所有守护进程分别启动。
关于android - Android系统服务从哪里启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041794/