一、linux环境解包打包

 

环境要求:Ubuntu

此处以system.img和userdata.img打包为例,基于谷歌源码编译的工具使用方法和命令。

1.转换格式

在解包过程中,system或者userdata镜像文件经常以两种格式出现:raw和sparse。

一种是raw ext4 image,即经常说的raw image,使用file观察它:

其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大。

$ file system.img

system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)

信息非常明确了。

另一种是sparse ext4 image,即经常说的simg,使用file观察它:

$ file system.img

system.img: data

如果格式为data,需要从data格式转成ext4格式,也就是raw格式,如下

> simg2img system.img system.img.ext4 //转换格式

> mkdir tmp //新建临时文件夹

> sudo mount -o loop system.img.ext4 tmp 将ext4文件挂载到tmp目录

2.常规打包:

先ls -l system.img.ext4看大小,假设是1073741824,这个参数后边用到。(此处l是英文字母L)

> ./make_ext4fs -s -l 2684354560  -a system new_system.img ./tmp

3.安卓5.0以及5.0以上版本打包,需注意

命令如下:

$ ./make_ext4fs -s -T 1421464178 -S file_contexts -l 1073741824 -a system new_system.img system/

或者:

./make_ext4fs -s  -S file_contexts -l 2048M -a system new_system.img system/

命令参数说明:

// -s 表示安静处理,不输出动作,可以不带该参数

// -T 表示Unix时间戳,对system.img中的文件设置修改时间,执行“

date +%s”获取某个时间点的时间戳,也可以直接不用-T 1421464178 ;

// -S 表示sepolicy 的file_contexts,把该文件放到此目录下,文件取自官方system/root路径和卡刷包自带(或解压内核,在内核里面)

// -l 表示最大的文件大小(受限于分区大小);可以ls -l 当前转格式出来的system大小、单位也可以为MB

// -a 表示Android的mount点,比如system、userdata、recovery;

// oksystem.img 表示输出文件名;

// system/ 表示输入目录,该目录下有framework、app、bin等目录;

上述的simg2img和make_ext4fs是android自带的工具,如果有android源码而且编译通过的话, 这些工具可以在/out/host/linux-x86/bin中找到。

Linux工具下载:

https://github.com/Loren-Yi/make_ext4fs

二、windows下解包打包

仅列出如下,不一一说明用法,如下:

1.第三方PC客户端工具

2.第三方批处理脚本工具

3.主流客户端工具:ROM定制大师,ROM制作工具和蘑菇助手

ROM定制开发入门-system userdata镜像解包打包相关推荐

  1. 安卓system userdata镜像解包打包

    linux环境解包打包 环境要求:Ubuntu 此处以system.img和userdata.img打包为例,基于谷歌源码编译的工具使用方法和命令. 1.转换格式 在解包过程中,system或者use ...

  2. 开机动画适配方案_高通平台刷机包定制方案适配-ROM定制开发入门到精通

    高通平台刷机包定制方案适配-ROM定制开发入门到精通 根据新老平台,高通平台线刷包至少要这样几个基本文件,但不一定全部都需要: 8x10_msimage.mbn----平台镜像,是个完整的磁盘,就是s ...

  3. android系统system镜像解包打包制作过程

    ** android系统system镜像解包打包制作过程 首先确认你的system是哪种类型镜像:yaffs2 ? 还是sparse? 这两种镜像使用的解包工具也不一样,下面以sparse类型镜像描述 ...

  4. ROM定制开发入门-第三方ROM发展现状

    第三方ROM的诞生 早期手机厂商研发能力不足,ROM体验差,UI丑陋,涌现出MIUI.乐蛙.百度云.以及国外CyanogenMod一大片第三方ROM,长期占据市场,造就了刷机需求的爆发式增长,各种手机 ...

  5. ROM定制开发入门-linux开发环境安装和准备

    环境安装-Linux环境 主要是Ubuntu安装复杂些,Ubuntu下操作的相对较少,一般为打包解包,打包环境配置相对简单: 安装ubuntu 配置selinux 以下是安装Ubuntu的教程: (为 ...

  6. android dat怎么打开方式,【玩机组教程】system.new.dat解包打包教程(支持安卓5+)...

    本帖最后由 卡卡看天 于 2017-3-17 12:33 编辑 [2016年10月28日更新]为解决各位加油遇到的各种问题,今天我把自己优化过的工具发上来供大家下载,改为bat批处理,更方便使用. 自 ...

  7. 后悔没早点看这篇直播系统定制开发入门篇

    直播想必大家都不陌生了,在互联网的风口下,以及5G技术的推动,流量带宽的提高,使得直播在我们生活中扮演着越来越重要的角色.本文先来讲一下入门直播需要了解的一些基本概念,搜集整理了直播入门需要了解的一些 ...

  8. 《微信小程序:开发入门及案例详解》—— 3.4 小结

    本节书摘来自华章出版社<微信小程序:开发入门及案例详解>一 书中的第3章,第3.4节,作者李骏 边思,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.4 小 ...

  9. Go 语言快速开发入门(基础语法详解,第一节)

    Go 语言快速开发入门(基础语法详解,第一节) 一.基础语法详解,第一节 1.HelloWorld 1.1.代码编写和解释 1.2.go语言注意事项 2.Go 语言的转义字符&&Go ...

最新文章

  1. TCP长连接和短连接
  2. 微信小程序转百度小程序修改
  3. 01-Secure Payload Dispatcher (SPD)
  4. py2.7+pyqt4开发端口检测工具
  5. 8、java中的内部类
  6. 在线js拼接html代码,关于js拼接html元素?
  7. 深度学习中为什么要使用多于一个epoch?
  8. priority_queue 优先队列 hdu裸题。
  9. C语言程序设计第三版微课版,C语言程序设计(第3版 微课版)
  10. pve万兆网卡驱动_WiFi 6扩展有什么选择?Killer AX1650X无线网卡深度测评
  11. 微机原理与接口技术考点一文全(待更)
  12. 项目管理工具maven的使用
  13. 【Unity5】实现24小时日出日落的效果 24小时天幕系统
  14. 博观约取,厚积薄发,聊一聊最近读完的几本书,太上头了~
  15. 408代码题暴力破解——混分归纳总结
  16. 4根网线水晶头接法(8根只接4根即可通讯)
  17. 【机器学习】【可解释性】LIME
  18. Python-高级:多任务-协程 案例:图片下载器
  19. ZF GE5060F47/153
  20. 贪心法 第1关:找零钱

热门文章

  1. 壳聚糖-聚乙二醇-N-羟基琥珀酰亚胺|Chitosan-PEG-NHS
  2. 怎样做研究(五) 刘挺
  3. 团建游戏---落难月球
  4. 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。
  5. Python/Pandas Categorical对象labels和levels属性已弃用,改为codes和categories
  6. 康泰克采样器完整版-Native Instruments Kontakt v6.3.1 Full WiN
  7. 【docker-jenkins搭建】docker的jenkins容器java版本(四)
  8. guile学习(三)快捷键ctrl+d,以及一个数包含的偶数的阶乘的和怎么计算
  9. 八竿子打不着的零碎记录
  10. mysql数据库实验报告一