init–android系统中的第一个进程
内核启动完成后,init进程通过解析脚本init.rc启动关键的守护进程和系统服务。如下可看到很多的init相关的配置文件,其中包括zygote(手机系统中的init.zygote64_32.rc、init.zygote32.rc文件)。
通过dmesg |grep zygote查看相关的启动信息:
zygote–是android应用程序的孵化器,大多数应用程序是从该程序fork出来的。
本身是java语言,因此运行则需要虚拟机环境。
进程app_process是zygote的载体,源码/AOSP/frameworks/base/cmds/app_process/app_main.cpp
该文件中的main函数会解析zygote启动命令参数--zygote --start-system-server ....,并最终调用AndroidRuntime的start函数,从下面代码可以看出,zygote的入口"com.android.internal.os.Zygot