打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Android5.0以上使用raw ext4fs image制作system.new.dat
分类: Android打包2015-02-10 23:43 641人阅读 评论(13)  举报
AndroidAndroid system imagesystem
前一段时间提供了一个工具,img2sdat [参见博文:http://blog.csdn.net/howellzhu/article/details/42841191]。
但是这个工具使用的输入文件是sparse ext4fs image镜像[参见博文:http://blog.csdn.net/howellzhu/article/details/43165507]。因此很多同学因此碰到如下的错误:[plain] view plaincopy
__init__ValueError: Magic should be 0xED26FF3A but is 0x00000000
注意到windows下的大多数工具都只能制作raw ext4fs镜像,很多同学无法制作sparse ext4fs镜像。因此本文提供工具直接由raw ext4fs镜像来制作system.new.dat,并且提供linux和windows版本工具下载。
制作步骤:
[欢迎转载,但请注明出处:http://http://blog.csdn.net/howellzhu]
1. 由system目录制作raw ext4fs镜像system.rimg:
比如参考linux下的Android提供的make_ext4fs工具,则使用如下的命令:
[plain] view plaincopy
$ 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:
[欢迎转载,但请注明出处:http://http://blog.csdn.net/howellzhu]
下载博文最后提供的rimg2sdat工具,然后执行:
[plain] view plaincopy
$ ./rimg2sdat system.rimg
这样,会在当前目录下生成2个文件:system.new.dat system.transfer.list。自己再创建一个空的system.patch.dat即可。
附录:
1. windows下的rimg2sdat.exe工具:http://download.csdn.net/detail/howellzhu/8439035
2. linxu x86/x64下的rimg2sdat工具:http://download.csdn.net/detail/howellzhu/8439087
3. linux下的make_ext4fs工具(支持-T参数):http://download.csdn.net/detail/howellzhu/8434723
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
make_ext4fs制作system.img .
android usb挂载分析
android中image文件的压缩与解压缩
android生成sysytem.img的命令过程
Android 解压和重新打包system.img
禁止迅雷偷偷上传已下载的文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服