rimg2sdat.exe是一个将Android的raw system ext4fs image转换为system.new.dat的工具,运行于windows平台。
[欢迎转载,但请注明出处:http://http://blog.csdn.net/howellzhu]
1. 由system目录制作raw ext4fs镜像system.rimg:
比如参考linux下的Android提供的make_ext4fs工具,则使用如下的命令:
$ make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system.rimg system/
简单解释一下,
-T代表对镜像中的unix文件时间戳进行设置,这里设置为0,表示1970-1-1。
-S 代表file_contexts,即selinux的文件selabel,必须指定;注意是大写S。
-l 表示文件分区的length,也是制作出来的镜像文件的大小;这里n5指定为1G。
-a 表示android中分区的名字,这里表示system分区;
system/表示制作源目录。
通过上面的步骤,得到一个1GB的文件system.rimg。
需要注意2点:
1) 一定不要用-s参数,因为-s参数会生成sparse image,不适合第二步的工具;
2) -T参数是android-5.0才加入的参数,如果你的make_ext4fs工具不支持该参数,请去掉后执行;
2. 用rimg2sdat工具制作system.new.dat:
下载博文最后提供的rimg2sdat工具,然后执行:
$ ./rimg2sdat system.rimg
这样,会在当前目录下生成2个文件:system.new.dat system.transfer.list。自己再创建一个空的system.patch.dat即可。