android开机启动流程说明
第一步:启动linux
第二步android系统启动:(system\core\rootdir)
1./system/bin/service manager: Binder 守护进程;
;
:app-process/app-main;
VM;
server
android service:Register to service Manager
Launcher
第三步:应用程序启动:运行package Manager
l Init进程
Android系统在启动时首先会启动Linux系统,引导加载Linux Kernel并启动init进程。Init进程是一个由内核启动的用户级进程,是Android系统的第一个进程。该进程的相关代码在platform\system\core\init\。在main函数中,有如下代码:
open_devnull_stdio();
log_init();
INFO("reading config file\n");
init_parse_config_file("/");
/* pull the mandline and ramdisk properties file in */
import_kernel_cmdline(0);
get_hardware_name(hardware, &revision);
snprintf(tmp, sizeof(tmp), "/init.%", hardware);
init_parse_config_file(tmp);
。*.rc文件定义了在init进程中需要启动哪些进程服务和执行哪些动作。其详细说明参见platform\system\core\init\。:
service servicemanager /system/bin/servicemanager
user system
critical
onrestart restart zygote
onrestart restart media
service vold /system/bin/vold
socket vold stream 0660 root mount
ioprio be 2
d /system/d
d stream 0660 root system
socket dnsproxyd stream 0660 root inet
service debuggerd /system/bin/debuggerd
service ril-daemon /system/bin/rild
socket rild stream 660 root radio
socket rild-debug stream 660 radio system
user root
group radio cache inet misc audio sdcard_rw
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
socket zygote stream 666
onrestart write /sys/android_power/request_state wake
onrestart write /sys/power/state on
onrestart restart media
onrestart d
service drm /system/bin/drmserver
user drm
group system root inet
具体解析过程见platform\system\core\init\。解析所得服务添
android开机启动流程说明 来自淘豆网m.daumloan.com转载请标明出处.