Android 镜像文件制作 【ramdisk.img system.img userdata.img】

Android项目生成的镜像文件包括ramdisk.img, system.img, userdata.img

ramdisk.img 是out/target/product/项目名/root 目录经过打包压缩而成; system.img是out/target/product/项目名/system目录打包压缩而成; userdata.img是out/target/product/项目名/data目录经过打包压缩而成。

Android启动时,会把ramdisk挂载为rootfs(根文件系统"\"),把system.img挂载到ramdisk.img下面的system目录,把userdata.img挂载到ramdisk.img下面的data目录。

用file XX.img来查看一下这几个文件的类型

 

经file命令查看后可以发现ramdisk.img是gzip的压缩格式,system.img和userdata.img是executable格式。不同格式采用不同的解压和压缩方法。

 

首先来解压ramdisk.img

1、将ramdisk.img拷贝到一个临时目录tmp下面

cp ramdisk.img /tmp

cd tmp

2、修改ramdisk.img的文件名为ramdisk.img.gz

mv ramdisk.img ramdisk.img.gz

3、解压

gunzip ramdisk.img.gz

解压后生成ramdisk.img文件,查看该文件格式是cpio archive

 

4、用cpio命令提取内容

当前目录下新建一个目录ramdisk,内容将提取到该目录下

然后你可以对ramdisk下面的相关文件做修改。注意ramdisk下的data和system目录分别由userdata.img和system.img挂载,所以往这个里面加东西最终在机器上将miss!,要往这里面加东西需要修改userdata.img或者system.img(后面将说明)。

 

修改完之后就可以进行重新打包啦~, 打包可以继续使用cpio命令,也可以使用Android自带的mkbootfs工具,mkbootfs在Android工程下的out/host/linux-x86/obj/EXECUTABLE/mkbootfs_intermedidatas/mkboofs

回到tmp目录,拷贝mkboofs到tmp目录下,并移除原来的ramdisk.img文件

使用mkbootfs打包ramdisk目录,这一步将在tmp目录下面生成新的ramdisk.img。这个ramdisk.img就可以替换手机端或者sdk中的ramdisk.img了(为了避免错漏,替换之前务必备份原档)

 

========================================================================================================

system.img以及userdata.img的解包和打包,两种文件格式一样,这里我们就以system.img 为例

需要用到两个工具:unyaffs、mkyaffs2image。unyaffs可以从android官网下载源码编译得到(网上也有编译好的版本),mkyaffs2image在Android源码的out/host/linux-x86/bin/mkyaffs2image。

1、在tmp目录下新建system目录,并拷贝以上的两个工具以及system.img到该目录下面:

2、使用unyaffs解包system.img

3、解包后出现system目录就是终端中根目录下的system,在这里我们可以往该目录(当然也包括子目录)添加或修改。然后使用mkyaffs2image来重新打包

 

以上是关于Android中img文件的解包,和打包,感谢您的阅读~

 

 

 

 

 

 

 

 

微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值