永发信息网

如何编译android userdata.img

答案:1  悬赏:40  手机版
解决时间 2021-03-17 02:44
如何编译android userdata.img
最佳答案
1、android文件系统的结构
android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 userdata目录下。因此,我们可以把ramdisk.img里的所有文件复制出来,system.img和userdata.img分别解压到 ramdisk文件系统中的system和 userdata目录下。

2、分离android文件系统出来
system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:
file ramdisk.img,输出:
ramdisk.img: gzip compressed data, from Unix, last modified: Wed Mar 18 17:16:10 2009
Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:
将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令
gunzip ramdisk.img.gz
然后新建一个文件夹,叫ramdisk吧,进入,输入命令
cpio -i -F ../ramdisk.img
这下,你就能看见并操作ramdisk里面的内容了。
然后把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和 ramdisk/userdata下。这样就得到一个文件系统了。

3、使用网络文件系统方式挂载android文件系统
因此,我们需要建立/nfsroot目录,再建立/nfsroot/androidfs目录,把刚才的android文件系统改名为androidfs,并链接到/nfsroot/androidfs

4、android内核引导文件系统
android内核挂载/nfsroot/androidfs之后,根据init.rc,init.goldfish.rc来初始化并装载系统库、程序等直到开机完成。init.rc脚本包括了文件系统初始化、装载的许多过程。init.rc的工作主要是:
1)设置一些环境变量
2)创建system、sdcard、data、cache等目录
3)把一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)设置一些文件的用户群组、权限
5)设置一些线程参数
6)设置TCP缓存大小
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
姐姐过生日想为她写一段说说不知道怎么写,求
康吉药店我想知道这个在什么地方
离沙河最近的农商银行周日上班的在哪里
指环王影片中有多少种族?
篮球比赛5个队如何分组 规则如何
分期付款可以买甲壳虫吗?
国家电网曲阳郎家庄供电所地址有知道的么?有
夫妻协议婚前及婚后财产归一方所有,子女是否
WPS表格怎么弄出中间的那一横,在线等答案。
问道高阶必杀等级有用吗
在淘宝买了一个 虚拟游戏账号 《街机三国福利
温州市公安局怎么走
97 +434=531,怎样验算
准迁证和迁移证是不是都有个期限?
乌苏到乌鲁木齐路况情况如何
推荐资讯
我用的是诺基亚5800W,使用一年半了,现在手
在哪里可以看到自己拉的是多少g的宽带
折叠伞伞柄为什么会脱节?
东莞建设银行储蓄卡现在去香港ATM机取港元收
单选题物体受到重力作用时,下列说法中正确的
买平果手机!在平果专卖才有保障呢吗?别的手
麻烦翻译下 打扰之处请海涵
龙工机械源出于哪个省
都昌县体育总会我想知道这个在什么地方
单机游戏电脑游戏暗黑破坏神2急需一个幻化之
梦见考试交白卷
今年社团第一次大会,求一个有内涵的大会名称
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?