WEB开发网
开发学院手机开发Android 开发 Android 启动过程总结 阅读

Android 启动过程总结

 2010-06-01 18:42:00 来源:WEB开发网   
核心提示:...ServicesServices are programs which init launches and (optionally) restarts when they exit. Services take the form of:service < name > < pathname &g

...

Services

--------

Services are programs which init launches and (optionally) restarts when they exit. Services take the form of:

service < name > < pathname > [ < argument > ]*

< option >

< option >

...

Options

-------

Options are modifiers to services. They affect how and when init runs the service.

Triggers

--------

Triggers are strings which can be used to match certain kinds of events and used to cause an action to occur.

The builtin supported commands are defined in device/system/init/keywords.h. Commands are implementd in device/system/init/bultins.c.

The init program only executes five kinds of triggers: “early-init”, “init”, “early-boot”, “boot”, “property:*”. Take a look at the following line in default init.rc.

class_start default

This line is a command for the action corresponding to “boot” trigger. It will start all services whose class name equals to “default”. By default, if no class option is defined for a service, the service’s class name is “default”. So this line will start all the services in the order of position in the file by default. (BTW, you can start any service using start commands, if you like.) Any service is run as a forked process of init, take a look at the source code of service_start in device/system/init.c.

So according to the default init.rc, the following services will be executed step by step:

console: star a shell. The source is in device/system/bin/ash.

adbd: start adb daemon. The source is in device/tools/adbd. By default is disabled.

servicemanager: start binder system. The source is in device/commands/binder.

mountd: mount all fs defined in /system/etc/mountd.conf if started, receive

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Android 启动 过程

编辑录入:coldstar [复制链接] [打 印]
赞助商链接