怎么写androidinit(android rc文件)

技术如何进行android启动过程中init.rc文件的浅析本篇文章为大家展示了如何进行android启动过程中init.rc文件的浅析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收

本文向您展示了如何在android启动过程中分析init.rc文件。内容简洁易懂,一定会让你大放异彩。希望通过这篇文章的详细介绍,你能有所收获。

1.init.rc文件结构

文件位置:

init . c :/系统/内核/init

init . RC :/系统/内核/rootdir

首先,init.rc文件是基于模块的,每个模块的内容是一起执行的。模块分为三种类型:开启、服务和导入。

我们可以看看init.rc文件是如何编写的:

1 .进口

import /init.usb.rc

导入/初始化。${ro.hardware}。罗马天主教

import /init.trace.rc

以上内容简单易懂,即导入其他。rc文件,所以当你添加一个产品到android源代码中,并想添加一个引导条目,你可以在这里添加它。

2.on

一般来说,on类型是做一些简单的shell指令,比如chown、mkdir、write、export和symlink。

而且init.rc本身带来了一些注释,比较容易理解。

关于后fs数据

#我们再次检查/chmod /data,因为装载是作为根默认值运行的

chown系统系统/数据

chmod 0771/数据

3 .服务

服务类型的模块代表一个可执行程序,例如:

服务引导/系统/bin/引导动画

主类

用户图形

分组图形

有缺陷的

一次通过

Bootanim是模块名

/system/bin/bootanimation是可执行文件的路径。

对应于关键字类、用户、组和onrestart的行用于描述服务的一些特征。不同的服务有不同的特点。

init.rc的结构大概是这样的,那么这个init.rc是怎么工作的呢?这取决于init.c文件。

首先,我们知道每个on模块都有自己的名字,比如上面的post-fs-data。然后你可以在init.c中找到这句话:

action _ for _ each _ trigger(' post-fs-data ',action _ add _ queue _ tail);

这将把“onpost-fs-data”这样一个节中的所有命令添加到一个执行队列中,队列中的命令将在未来的某个时间按顺序执行,因此调用action_for_each_trigger()的顺序决定了命令的执行顺序。

这项服务何时执行?

on模块的指令中会有“class_start”,例如:

class_start核心

类_开始主

在未加密的

类_开始时间晚_开始时间

服务模块在这里执行时会被调用。

以上内容是安卓启动时如何分析init.rc文件。你学到什么知识或技能了吗?如果你想学习更多的技能或丰富你的知识,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151921.html

(0)

相关推荐