Android4.4 模拟器system.img制作

近日,对4.4版本的模拟器作了一些了解。网上的资料还是蛮多的,不过都比较杂乱,在这里主要是做一个整理吧。
4.4 版本的system.img使用的ext4文件系统,所以mkyaffs2image不再适用。
如果仅仅是解包system.img的话,有部分工具可以做到。例如:ext4_unpacker.exe。至于打包工具,鄙人还未找到类似的工具(如果哪位同道找到类似的工具,希望可以提出来讨论)。好了,下面就说说我的解/打包过程:
1、众所周知,android的底层是linux。我们此处对system.img的操作也要在linux下进行。如果你使用的是windows,可以使用Vmware虚拟机,安装linux操作系统。我使用的是ubuntu。
2、我们可以在/boot目录下(也可以是别的目录,下面的文件名亦可修改)新建3个文件夹:
新建/boot/work:主要的工作空间
新建/boot/system:用于挂载sdk中原本的system.img镜像
新建/boot/newsystem:用于挂载新制作的ext4格式镜像
3、在网上下载make_ext4fs工具(下面地址提供)。
a)将make_ext4fs、mkuserimg.sh、simg2img三个文件拷贝到/boot/work目录下。
b)将sdk中的system.img拷贝到/boot/work目录下(例如我sdk中system.img的路径为:\adt-bundle-windows-x86-20131030\sdk\system-images\android-19\armeabi-v7a)。
c)制作新的system空白镜像,下面以制作300M的newsystem.img为例:
生成镜像文件:# dd if=/dev/zero of=newsystem.img count=614400
将镜像文件制作ext4文件系统:#./make_ext4fs newsystem.img
更改权限:#chmod 666 newsystem.img
好了,准备工作完成。
4、挂载镜像
a) 挂载镜像system.img到/boot/system目录
# mount -t ext4 -o loop system.img /boot/system
b) 挂载镜像newsystem.img到/boot/newsystem目录
# mount -t ext4 -o loop newsystem.img /boot/newsystem
   
挂载好之后,我们只要打开/boot/system和/boot/newsystem目录,就可以看到system.img和newsystem.img中所对应的类容。如下图:
   
   
可以看到,system中有很多内容,而newsystem中只有lost+found。现在我们可以对system作任意修改(比如删除掉app里的apk)。修改完之后我们利用cp命令将system中的内容拷贝到newsystem文件文件夹中。然后,解除挂载。
   
至此,/boot/work目录下的system.img及newsystem.img都修改完成。这两个镜像的内容完全一样,只是system.img的大小还是原本的大小,而newsystem.img减小为300M。当然,如果你不需要修改镜像的大小,直接使用system.img就可以了,newsystem.img也不用创建。
5、注:userdata.img亦可用此方法制作。水平有限,如有不足,请见谅。

make_ext4fs工具下载地址 http://download.csdn.net/detail/sichuandazhou/9244871

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值