Android init.rc文件简单介绍
Android init.rc文件简单介绍
init.rc脚本是由Android中linux的第一个用户级进程init进行解析的。
init.rc 文件并不是普通的配置文件,而是由一种被称为“Android初始化语言”(Android Init Language,这里简称为AIL)的脚本写成的文件。
该文件在ROM中是只读的,即使有了root权限,可以修改该文件也没有。因为我们在根目录看到的文件只是内存文件的镜像。也就是说,android启动后,会将init.rc文件装载到内存。而修改init.rc文件的内容实际上只是修改内存中的init.rc文件的内容。一旦重启android,init.rc文件的内容又会恢复到最初的装载。想彻底修改init.rc文件内容的唯一方式是修改Android的ROM中的内核镜像(boot.img)。
init.rc脚本包括了文件系统初始化、装载的许多过程。init.rc的工作主要是:
1)设置一些环境变量
2)创建system、sdcard、data、cache等目录(见案例1)
3)把一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)设置一些文件的用户群组、权限
5)设置一些线程参数
6)设置TCP缓存大小
init脚本的关键字(如mkdir,chmod,service等等)可以参考init进程的system/core/init/keyword.h文件。
init.rc的使用方法,可以参考说明文件system/core/init/readme.txt
如果想要修改启动过程只需要修改init.c(system/core/init)或者init.rc里的内容即可.
init.c与init.rc在源码中的位置分别位于如下:
1 init.c : /system/core/init
2 init.rc : /system/core/rootdir
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android中init.rc文件的解析 分享
对init.rc的解析是在parse_config(): [system/core/init/init_parser.c]中进行的.解析发生在init全过程中的哪个阶段,参看<Android init进程启动过程分析>. 一.解析过程 1. 扫描init.rc中的token 找到其中的 文件结束EOF/文本TEXT/新行NEWLINE,其中的空格' '.'\t'.'\r'会被忽略,#开头的行也被忽略掉: 而对于TEXT,空格' '.'\t'.'\r'.'\n'都是TEXT的结束标志.
-
Android init.rc文件详解及简单实例
Android init.rc文件详解 本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译. 1 简述 Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Services,Options.在init.rc文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的.如果需要在单词内使用空格,那么得使用转义字符"\",如果在一行的末尾有一个反斜杠,那么
-
Android miniTwitter登录界面开发实例
本文要演示的Android开发实例是如何完成一个Android中的miniTwitter登录界面,下面将分步骤讲解怎样实现图中的界面效果,让大家都能轻松的做出美观的登录界面. 先贴上最终要完成的效果图: miniTwitter登录界面的布局分析 首先由界面图分析布局,基本可以分为三个部分,下面分别讲解每个部分. 第一部分是一个带渐变色背景的LinearLayout布局,关于背景渐变色就不再贴代码了,效果如下图所示: 第二部分,红色线区域内,包括1,2,3,4 如图所示: 红色的1表示的是一个带圆
-
Android Init进程对信号的处理流程详细介绍
Android Init进程对信号的处理流程 在Android中,当一个进程退出(exit())时,会向它的父进程发送一个SIGCHLD信号.父进程收到该信号后,会释放分配给该子进程的系统资源:并且父进程需要调用wait()或waitpid()等待子进程结束.如果父进程没有做这种处理,且父进程初始化时也没有调用signal(SIGCHLD, SIG_IGN)来显示忽略对SIGCHLD的处理,这时子进程将一直保持当前的退出状态,不会完全退出.这样的子进程不能被调度,所做的只是在进程列表中占据一个
-
深入剖析Android中init进程实现的C语言源码
概述 init是一个进程,确切的说,它是Linux系统中用户空间的第一个进程.由于Android是基于Linux内核的,所以init也是Android系统中用户空间的第一个进程.init的进程号是1.作为天字第一号进程,init有很多重要的工作: init提供property service(属性服务)来管理Android系统的属性. init负责创建系统中的关键进程,包括zygote. 以往的文章一上来就介绍init的源码,但是我这里先从这两个主要工作开始.搞清楚这两个主要工作是如何实现的,我
-
Android init.rc文件简单介绍
Android init.rc文件简单介绍 init.rc脚本是由Android中linux的第一个用户级进程init进行解析的. init.rc 文件并不是普通的配置文件,而是由一种被称为"Android初始化语言"(Android Init Language,这里简称为AIL)的脚本写成的文件. 该文件在ROM中是只读的,即使有了root权限,可以修改该文件也没有.因为我们在根目录看到的文件只是内存文件的镜像.也就是说,android启动后,会将init.rc文件装载到内存.而修改
-
Android中的Adapter简单介绍
Android中的Adapter在自定义显示列表时非常有用,比如SimpleAdapter,它的构造函数是: public SimpleAdapter (Context context, List> data, int resource, String[] from, int[] to) 它的各参数的意思: 1.context,上下文,SimpleAdapter关联的视图,一般而言就是当前的Activity,this 2.data,泛型的List,如ArrayList,Map或者HashMap
-
Android Retrofit的简单介绍和使用
Retrofit与okhttp共同出自于Square公司,retrofit就是对okhttp做了一层封装.把网络请求都交给给了Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了,其主要作者是Android大神JakeWharton. 导包: compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'//Retrofit2所需要的包 compile 'com.squareup.retrofit2:converter-gso
-
Ubuntu中为Android简单介绍硬件抽象层(HAL)
Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节. 对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间.为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件的支持逻辑都放在内核空间,可能会损害厂家的利益.我们知道,Linux内
-
Android中dumpsys命令用法简单介绍
在Android手机上, 通过使用adb shell命令可以进入android系统的shell, 该shell除支持一些常用的标准命令之外,还支持一些和android系统相关的其他命令, 这些命令可以打印出系统当前的状态信息. dumpsys就是这样一个命令. 使用 adb shell 进入命令行, 敲入dumpsys, 打印出的信息超级多, 在我的nexus 5机器上,输出多达67000行. 首先从打印信息的开始部分看起: Currently running services: Surface
-
Android开发实现文件关联方法介绍
Android开发实现文件关联方法,做一个项目的时候,需要点击文件打开我们自己的app.首先讲一下点击普通文件打开app的方法,只需要三行代码,在app启动活动里加一个过滤器. <intent-filter> <category android:name="android.intent.category.LAUNCHER"> </category></action></intent-filter> <intent-fil
-
PHP文件操作简单介绍及函数汇总
文件操作一直是Web程序员头疼的地方,而文件操作在CMS这样的系统中又是必须的.如今,PHP文件操作的函数内容已经非常强大,文件这部分也是学习PHP非常重要的一部分,希望大家不要忽略.这篇文章会简单介绍一下PHP的几个基本文件操作,最后附有PHP文件函数汇总,供大家参考和学习. 1. 打开文件:fopen("文件名","模式"); 模式参数: r:只读,将文件指针指向文件头. r+:读/写,将文件指针指向文件头. w:只写,打开并清空文件的内容.如果文件不存在,则创
随机推荐
- js实现符合国情的日期插件详解
- jQuery.validate 常用方法及需要注意的问题
- github的使用_动力节点Java学院整理
- Java依赖-关联-聚合-组合之间区别_动力节点Java学院整理
- Java 从互联网上爬邮箱代码示例
- jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
- JAVA/JSP学习系列之二
- C语言单链表常见操作汇总
- Python的Django框架中的URL配置与松耦合
- noty – jQuery通知插件全面解析
- 深入浅出ES6新特性之函数默认参数和箭头函数
- ThreadLocal使用案例_动力节点Java学院整理
- Android状态栏微技巧(推荐)
- window.parent调用父框架时 ie跟火狐不兼容问题
- Android实现截屏与截长图功能
- 详解爬虫被封的问题
- springboot 动态数据源的实现方法(Mybatis+Druid)
- Django 内置权限扩展案例详解
- 对pandas的行列名更改与数据选择详解
- python爬取本站电子书信息并入库的实现代码