声明

  • 前阶段在项目中涉及到了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进程主要作用是:

  1. 创建、挂载启动所需的文件目录,包括:tmpfs、devpts、proc、sys、selinuxfs;
  2. 生成设备驱动节点(设备热插拔、udev、uevent,可参考书籍《Android框架揭秘》3.4节)
  3. 解析、处理init.rc等脚本文件中的命令;
  4. 创建Zygote和属性服务;
  5. 使用while(true)循环创建/回收子进程;

    其源码位置在&#

cm-14.1 Android系统启动过程分析(4)-init进程的启动、rc脚本解析、zygote启动、属性服务相关推荐

  1. 从源码解析-Android系统启动流程概述 init进程zygote进程SystemServer进程启动流程

    Android系统启动流程 启动流程 Loader Kernel Native Framework Application init进程 启动 rc文件规则 Actions Commands Serv ...

  2. [日更-2019.4.8、4.9、4.12、4.13] cm-14.1 Android系统启动过程分析(一)-init进程的启动、rc脚本解析、zygote启动、属性服务...

    2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的. 本文 ...

  3. [日更-2019.4.26、27、28] cm-14.1 Android系统启动过程分析(四)-应用程序进程启动过程...

    2019独角兽企业重金招聘Python工程师标准>>> 声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的: 本文 ...

  4. cm-14.1 Android系统启动过程分析(3) - Android系统启动流程概述

    声明 前阶段在项目中涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的. 本文参考了一些书籍的若干章节,比如<Android进阶解密-第2章-An ...

  5. cm-14.1 Android系统启动过程分析(8)-应用程序进程启动过程

    文章目录 声明 0 写在前面 1 什么应用程序进程? 2 应用程序进程的启动过程 2.1 AMS发送启动应用程序进程请求 2.2 Zygote接收AMS的请求并创建应用程序进程 3 启动线程池 4 创 ...

  6. Android 9(P)之init进程启动源码分析指南之一

         Android 9 之init进程启动源码分析指南之一 Android 9 (P) 系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 Andro ...

  7. Android 9 (P)之init进程启动源码分析指南之三

          Android 9 (P)之init进程启动源码分析指南之三 Android 9 (P)系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 An ...

  8. Android源码阅读---init进程

    Android源码阅读-init进程 文章目录 Android源码阅读---init进程 1. 编译命令和进程入口 1. init 进程编译命令 2. main函数流程 2. 主函数处理流程 1. 创 ...

  9. Android系统10 RK3399 init进程启动(三十八) 属性Selinux实战编程

    配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 上一节 ...

最新文章

  1. git tag学习记录(二)
  2. Java实用教程笔记 类与对象
  3. 现任明教教主共享胖AP与WLC安全配置录像.上半部分
  4. mybatis返回map键值对_mybatis返回map结果集怎么配置
  5. Game with Telephone Numbers
  6. Qt Creator浏览ISO 7000图标
  7. 系统性能测试--杨建旭
  8. 入门基础-VC网络编程入门
  9. JavaScript开发中几个常用知识点总结
  10. ubuntu下gvim启动出现gtk warning Invalid input string
  11. 从程序员角度分析,到底“12306”的架构到底有多牛逼?
  12. 用计算机画出方格表,方格造型图_怎么做这种颜色相间的方格图(有图)_彩妆阁...
  13. Web前端初级问题—ajax登录跳转登录实现
  14. 507 LOJ 「LibreOJ NOI Round #1」接竹竿
  15. GTD+敏捷=一种新的计划列表理念和方法。
  16. hua图软件 mac_CAD迷你画图for Mac-CAD迷你画图Mac版下载 V3.3.6-PC6苹果网
  17. html中如何使图片边框隐藏,css怎么去除图片边框
  18. 面试中问到的遇到什么困难的问题,如何解决? 方法论借鉴
  19. python——列表定义及方法
  20. oracle创建dblink同义词,Oracle中DBlink与同义词

热门文章

  1. 第三篇 树莓派的串口通信和语音识别模块
  2. Docker基础讲解狂神笔记(1/2)
  3. SVG 的 foreignObject 标签
  4. Django自动化测试平台项目案例
  5. V全自动加粉工具(日加一万不是梦) V加粉一直手动绝对是老大难问题,本工作室推出强大的工具版本(详细可通过演示视频了解)
  6. bidirectional PIM
  7. 上位机程序,上位机界面开发,ATECLOUD中国人自己的LabVIEW
  8. svn提示没有设置冲突_SVN出现叹号文件冲突解决办法
  9. Cluster vs Clustering
  10. 春天正是补气的好时刻,喝枸杞+黄芪就对了