Android 的 init.rc 文件简介【转】】的更多相关文章

转自:http://blog.csdn.net/yimiyangguang1314/article/details/6268177 init.rc由许多的Action和Service组成.每一个语句占据一行,并且各个关键字被空格分开. 由 # (前面允许有空格)开始的行都是注释行(comment) 一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明.在第一个段之前的 commands 或 options 都会被忽略 每一…
init.rc脚本是由Android中linux的第一个用户级进程init进行解析的. init.rc 文件并不是普通的配置文件,而是由一种被称为"Android初始化语言"(Android Init Language,这里简称为AIL)的脚本写成的文件. 该文件在ROM中是只读的,即使有了root权限,可以修改该文件也没有.因为我们在根目录看到的文件只是内存文件的镜像.也就是说,android启动后,会将init.rc文件装载到内存.而修改init.rc文件的内容实际上只是修改内存中…
init.rc中文件里会通过import /init.${ro.hardware}.rc文件,这个ro.hardware应该是某个详细的属性.而这个ro.hardware赋值应该是在Init进程中赋值的. 这个ro.hardware值设置是在/system/core/init.c中实现的,其通过hardware来赋值.hardware首先被/proc/cpuinfo赋值.然后会检測comandline. 假设comandline中有參数为androidboot.hardware,那这个參数在in…
本文转载自:https://blog.csdn.net/u013686019/article/details/47981249 一.文件简介 init.rc:Android在启动过程中读取的启动脚本文件,主要完成一些初级的初始化,在/system/core/init/init.c中解析. init.xx.rc:与具体CPU相关的启动脚本,比如对于飞思卡尔的CPU,名字为init.freescale.rc.在init.rc之后得到解析. 对于运行的设备,两个文件都位于根目录下:cat /init.…
Android init.rc文件浅析 分类: Android2012-04-13 18:00 13149人阅读 评论(2) 收藏 举报 androidservicepathactionsocketcommand   目录(?)[+]   本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译. 1 简述 Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Ser…
一:init.rc文件修改 开机后运行一次: chmod 777 /system/bin/bt_config.sh service bt_config /system/bin/bt_config.sh class main user root group root oneshot 开机后等待android启动完成后再运行: service bt_config /system/bin/bt_config.sh class main user root group root disabled one…
</pre><p>注:假设是自己的myself.jar包,还要修改例如以下:</p><p>target/product/core_base.mk PRODUCT_BOOT_JARS := core:myself</p><p></p><p>功能:手机开机后要写个标志位. 已有实现.就是收到开机广播后,启动服务读取bp中的标志位(java代码须要等待ril准备好).并把这个标志位写入到ap中(java代码调用c++…
[实现逻辑] 通过在property_service.c中设置标志位,在设置中实现接口改变标志位, 使用init.rc中声明的服务来侦听标志位的变化,显式启动声明的服务,执行对应的脚本,把应用后缀从apk重命名为bak,从而实现隐藏(显示逻辑相反).[实现步骤]以隐藏Google Play Store(system/priv-app/Phonesky.apk)为例: 1.首先在system/core/init/property_service.c中声明并初始化标志位,0为隐藏,1为显示,默认隐藏…
在init.rc中运行的服务,由于系统启动的时候将标准输出重定向到了/dev/null, 所以服务中的打印信息都不可见. 但调试时可能需要看到其中的打印信息,因此就有了logwrapper这个工具:logwrapper的使用很简单,直接使用logwrapper执行可执行文件,就能在logcat中看到对应的打印信息了,比如: logwrapper ps 在执行ps命令的时候,就能在logcat中看到打印的信息:logwrapper在/system/bin路径下,为可执行文件,其作用是将可执行文件的…
转自:http://www.linuxidc.com/Linux/2011-04/35014.htm 通过property_set("ctl.start", service_xx); 来启动init.rc中的service是一个很方便方法来调用某个可执行程序或某个脚本程序 service service_xx  /system/bin/xx disabled oneshot 但在非AID_ROOT.AID_SYSTEM 用户的进程中调用ctl.start ctl.stop会碰到权限问题…