Android系统启动流程—2 init.rc文件启动流程
接着上篇,init进程启动的SecondStageMain阶段中,最后也是最重要的就是init.rc以及其他各个目录rc的解析和触发,本篇主要针对这块进行详细梳理。
接着上篇,init进程启动的SecondStageMain阶段中,最后也是最重要的就是init.rc以及其他各个目录rc的解析和触发,本篇主要针对这块进行详细梳理。
本篇介绍Android系统启动流程的开始阶段,从kernel内核空间启动第一个用户空间init进程,然后梳理init进程启动的几个阶段做了哪些任务。
最开始,Ninja是用于Chromium浏览器中,Android在SDK7.0中也引入了Ninja。Ninja其实就是一个编译系统,如同make,使用Ninja主要目的就是因为其编译速度快
Kati是为了提高Android编译速度而产生的实验性的GNU make克隆的工具。本身没有提供快速编译,而是将Makefile文件转换为Ninja文件,再通过Ninja进行编译提速。 目前Android 12上,Kati(即prebuilts/build-tools/linux-x86/bin/ckati...
在Android 12 AOSP源码的build/core/main.mk中定义了很多伪目标,我们可以直接通过make 目标名称进行编译,镜像的生成定义也在该文件中。本篇主要以system镜像为例,进行流程梳理分析。
本篇我们详细的说明Android编译命令的内部流程,讲述source build/envsetup.sh;lunch;make这三个主要编译命令的处理逻辑。
基于Android 12 AOSP源码(android-12.0.0_r3),对Android编译系统框架作学习梳理。 开篇从Android的源码结构入手,让我们先知道Android源码架构包含了哪些内容、Android编译结果目录有哪些内容。然后了解Android编译系统模块的结构组成。
阅读Android AOSP 12版本代码,对输入法IME整体框架模块进行学习梳理,内容包含输入法框架三部分IMM、IMMS、IMS的启动流程、点击弹出流程、显示/隐藏流程,以及常见问题和调试技巧。
Android系统调试技巧积累笔记,主要包含Android Framework,以及日常接触的git、adb、linux系统等调试技巧。
本篇主要讲述Android SELinux的基本概念,包含类型、属性、规则,Sepolicy的核心模块、关键文件,SELinux配置的步骤、调试验证方法等。