Android 修改init.rc
来源:互联网 发布:概率矩阵分解 中心极限 编辑:程序博客网 时间:2024/06/06 02:51
有时候希望在启动后做点事情,比如在sdcard上建立目录,修改/data的访问权限等,这些都可以放在init.rc中去完成,那么如何来完成呢,最近由于工作的需要,在这方面进行了一些研究,特写于此,供大家参考。
通过下面的例子来讲述,实现一个功能:在android系统启动后,修改/data的访问权限为770.
共4步:1、解压ramdisk.img 2、用c语言完成要实现的功能 3、修改init.rc,启动c语言可执行程序 4、制作ramdisk.img
1、解压ramdisk.img:
解压、修改Android的ramdisk.img的手动方法:
将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令
gunzip ramdisk.img.gz
然后新建一个文件夹,叫ramdisk吧,进入,输入命令
cpio -i -F ../ramdisk.img
这下,你就能看见并操作ramdisk里面的内容了。
2、完成一个C语言程序chpermission.c,来实现修改权限的功能。代码如下:
#include <stdlib.h>
int main()
{
system("chmod 700 /data");
return 0;
}
然后编译此程序,不过需要编译为android下的可执行程序,可参考我的博客:http://blog.csdn.net/liushaogeng/archive/2010/09/01/5855925.aspx ,采用博客中介绍的两种方法均可以。 编译完后将可执行文件push到模拟器的/data目录中去: #adb push chpermission /data3、 修改ramdisk目录下init.rc文件,让其启动 chpermission程序, 增加以下代码:
#add by me on 2010-10-18
service chpermission /data/ chpermission
oneshot
用于启动 chpermission,完成相应的功能--修改data权限。
init.rc的语法可参考博客: http://blog.csdn.net/liushaogeng/archive/2010/10/18/5949244.aspx4、制作ramdisk.img,
init.rc修改之后,可以使用下列命令重新打包成镜像
cpio -i -t -F ../ramdisk.img > list
cpio -o -H newc -O lk.img < list
当前目录下生成的lk.img就是我们的新镜像了。
将ramdisk.img拷贝到sdk指向的目录。
全部ok,重启自己的模拟器,查看data权限是否为770
- Android 修改init.rc
- Android 修改init.rc
- Android 修改init.rc
- Android 修改 init.rc
- Android修改init.rc和init.xx.rc文件
- Android修改init.rc和init.xx.rc文件
- Android init 进程 init.rc init.*.rc
- Android init 进程 init.rc init.*.rc
- Android init 进程 init.rc init.*.rc
- Android init.rc init.vendor.rc 介绍
- [init.rc] android init.rc 总结
- android init.c init.rc
- android init进程 init.rc
- 如何修改android模拟器里的 init.rc
- Android 修改init.rc (related to ramdisk.img)
- android中的init.rc
- 转 android init.rc
- android init.rc 语法分析
- HAProxy+Hive构建高可用数据挖掘集群
- Android SDK Manager国内无法更新的解决方案
- Lua中的模块以及实现方法
- EL表达式
- 杭电c语言2024c语言合法标识符
- Android 修改init.rc
- 算法的进展[整理]
- hdu 3853 概率dp求期望
- c语言杭电1029Ignatius and the Princess IV
- dpkg
- 开发工具
- 应用程序相关工具AppUtils
- Android menu学习----来自好友王阳
- POJ 1222 高斯消元