cm-14.1 Android系统启动过程分析(4)-init进程的启动、rc脚本解析、zygote启动、属性服务
声明
- 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的。
- 本文参考了一些书籍的若干章节,比如《Android进阶解密-第2章-Android系统启动》、《深入理解Android虚拟机-第8/9/10章-init进程详解/Dalvik VM的进程系统/Dalvik VM运作流程详解》、《深入理解Android系统-第6/7/8章-init启动进程详解/Zygote进程详解/System进程详解》等
- 本文使用的代码是LineageOS的cm-14.1,对应Android 7.1.2,可以参考我的另一篇博客:cm-14.1 Android系统启动过程分析(1)-如何下载Nexus5的LineageOS14.1(cm-14.1)系统源码并编译、刷机
- 很多代码注释待详细写
1 init进程
init进程在Linux系统中是内核启动后启动的1号进程,init进程在Android系统中依然是内核初始化完成后首先启动的1号进程。init进程主要作用是:
- 创建、挂载启动所需的文件目录,包括:tmpfs、devpts、proc、sys、selinuxfs;
- 生成设备驱动节点(设备热插拔、udev、uevent,可参考书籍《Android框架揭秘》3.4节)
- 解析、处理init.rc等脚本文件中的命令;
- 创建Zygote和属性服务;
- 使用while(true)循环创建/回收子进程;
其源码位置在&#
cm-14.1 Android系统启动过程分析(4)-init进程的启动、rc脚本解析、zygote启动、属性服务相关推荐
- 从源码解析-Android系统启动流程概述 init进程zygote进程SystemServer进程启动流程
Android系统启动流程 启动流程 Loader Kernel Native Framework Application init进程 启动 rc文件规则 Actions Commands Serv ...
- [日更-2019.4.8、4.9、4.12、4.13] cm-14.1 Android系统启动过程分析(一)-init进程的启动、rc脚本解析、zygote启动、属性服务...
2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的. 本文 ...
- [日更-2019.4.26、27、28] cm-14.1 Android系统启动过程分析(四)-应用程序进程启动过程...
2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的: 本文 ...
- cm-14.1 Android系统启动过程分析(3) - Android系统启动流程概述
声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的. 本文参考了一些书籍的若干章节,比如<Android进阶解密-第2章-An ...
- cm-14.1 Android系统启动过程分析(8)-应用程序进程启动过程
文章目录 声明 0 写在前面 1 什么应用程序进程? 2 应用程序进程的启动过程 2.1 AMS发送启动应用程序进程请求 2.2 Zygote接收AMS的请求并创建应用程序进程 3 启动线程池 4 创 ...
- Android 9(P)之init进程启动源码分析指南之一
Android 9 之init进程启动源码分析指南之一 Android 9 (P) 系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 Andro ...
- Android 9 (P)之init进程启动源码分析指南之三
Android 9 (P)之init进程启动源码分析指南之三 Android 9 (P)系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 An ...
- Android源码阅读---init进程
Android源码阅读-init进程 文章目录 Android源码阅读---init进程 1. 编译命令和进程入口 1. init 进程编译命令 2. main函数流程 2. 主函数处理流程 1. 创 ...
- Android系统10 RK3399 init进程启动(三十八) 属性Selinux实战编程
配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 上一节 ...
最新文章
- git tag学习记录(二)
- Java实用教程笔记 类与对象
- 现任明教教主共享胖AP与WLC安全配置录像.上半部分
- mybatis返回map键值对_mybatis返回map结果集怎么配置
- Game with Telephone Numbers
- Qt Creator浏览ISO 7000图标
- 系统性能测试--杨建旭
- 入门基础-VC网络编程入门
- JavaScript开发中几个常用知识点总结
- ubuntu下gvim启动出现gtk warning Invalid input string
- 从程序员角度分析,到底“12306”的架构到底有多牛逼?
- 用计算机画出方格表,方格造型图_怎么做这种颜色相间的方格图(有图)_彩妆阁...
- Web前端初级问题—ajax登录跳转登录实现
- 507 LOJ 「LibreOJ NOI Round #1」接竹竿
- GTD+敏捷=一种新的计划列表理念和方法。
- hua图软件 mac_CAD迷你画图for Mac-CAD迷你画图Mac版下载 V3.3.6-PC6苹果网
- html中如何使图片边框隐藏,css怎么去除图片边框
- 面试中问到的遇到什么困难的问题,如何解决? 方法论借鉴
- python——列表定义及方法
- oracle创建dblink同义词,Oracle中DBlink与同义词