解包

假设有一个名为update.zip的ROM包,我们要在Ubuntu下对它进行定制。首先把system.transfer.list和system.new.dat.br(有些旧版的系统的镜像可能是system.new.dat)从update.zip解压出来,转成system.img(原始镜像格式),修改完后又按步骤打包回原来的格式。本文只写了system分区的定制方法,但是对于其他分区也是类似的,都要转成原始镜像格式后才能对它修改。如果使用file system.img命令来查看system.img文件信息,会得到类似下面的信息:

system.img: Linux rev 1.0 ext4 filesystem data, UUID=da594c53-9beb-f85c-85c5-cedf76546f7a, volume name "system" (extents) (large files)

system.new.dat.br转换为system.new.dat

brotli -d system.new.dat.br

注:如果镜像就是system.new.dat格式,就跳过这步

system.new.dat转成system.img

git clone https://github.com/xpirt/sdat2img

cd sdat2img

python sdat2img.py system.transfer.list system.new.dat system.img

挂载system.img

sudo mkdir -p /mnt/system

sudo mount -o loop system.img /mnt/system

cd /mnt/system

扩容(可选)

挂载后可以通过df -h来查看挂载点/mnt/system剩余空间有多少,如果没有剩余,就要对它进行扩容,下面的例子是给它增加128M的空间,扩容之前要先取消挂载

dd if=/dev/zero bs=1M count=128 >> system.img

e2fsck -f system.img

resize2fs system.img

修改

现在,可以在/mnt/system目录下根据自己的需求增删文件了。增加文件后,使用chmod,chown等命令来修改它们的权限

打包

打包其实就是解包的逆过程

生成system.img

sudo make_ext4fs -T 0 -S file_contexts -l 2048M -a system system_new.img /mnt/system

-T 代表对镜像中的unix文件时间戳进行设置,这里设置为0,表示1970-1-1

-S 指定file_contexts

-l 表示目标镜像的大小。如果不懂得写多少可以使用df -h命令查看挂载点/mnt/system的总大小,然后取整数(512M,1024M,2048M...),比如查得挂载点空间大小是992M,你就得写1024M

-a 指定目标img文件在Android中的挂载点

system_new.img 表示生成的镜像

/mnt/system/ 表示源目录

注: file_contexts可以去这里,根据系统版本选择分支(Android7.0对应的是cm14.0分支,Android7.1对应的是cm14.1分支,Android8.0对应lineage-15.0分支,以此类推)下载,下载后也可以根据自己的需求定制file_contexts

成功后会在当前目录下生成system_new.img。如果发生错误,根据错误进行调整参数,直到没有错误提示为止。

卸载system

sudo umount /mnt/system

把system.img转成system.new.dat

转换之前可以对之前解压出来的文件进行备份:

mv system.transfer.list system.transfer.list.bak

mv system.new.dat system.new.dat.bak

开始转换

git clone https://github.com/jazchen/rimg2sdat

cd rimg2sdat

python rimg2sdat.py system_new.img

成功后会在当前目录下生成system.transfer.list和system.new.dat

system.new.dat转成system.new.dat.br

brotli -0 system.new.dat

注:如果开始解压出来的镜像就是system.new.dat格式,就跳过这步

更新文件到刷机包

zip update.zip system.transfer.list

原文:https://www.cnblogs.com/luoyesiqiu/p/10791511.html

android rom打包解包工具,Android ROM包定制(解包,增删模块,打包)相关推荐

  1. 华为固件解包工具linux,华为固件解包工具-官方版-华为固件解包工具update.app官方版-独木成林...

    华为官方固件update.app解包工具,用于解包华为官方SD卡刷机包UPDATA.APP,可将APP固件解包成IMG镜像分区文件,继续解包可对刷机包进行定制,可用本工具提取recovery.img. ...

  2. 华为固件解包工具linux,华为app固件解包工具下载

    华为固件update.app解包工具是一款专门为用户打造的华为app固件解包工具,可以帮助用户解华为官方sd卡刷机包UPDATA.APP,可以将app固件解包成img镜像文件,也可以对刷机包进行定制等 ...

  3. linux解压工具软件,linux 安装rar解压工具

    linux中默认的tar命令用于解压压缩文件,但是tar命令不支持rar文件的解压和压缩,需要安装rar解压工具,实现rar命令解压rar压缩包. 1.下载rarlab软件wget -c https: ...

  4. img解包工具_3、Linux基础命令篇、压缩打包工具

    在管理系统中,我们遇到经常会使用后缀为*.tar.gz |*.tar.bz2 等文件,他们是什么文件呢?请看下面介绍及使用方法 压缩的原理,比如一个字符串"www.baidu.com&quo ...

  5. 华为固件解包工具linux,华为app解包工具|华为官方APP固件解包工具_华为官方rom_最火软件站...

    这个华为官方ROM解包工具包是在某手机论坛搜集到的,同时附上一个简易的教程,不需要linux环境,直接在window XP/ win7上操作,WIN8测试通过,需要的APP固件解包工具(解压华为ROM ...

  6. 华为固件解包工具linux,华为app固件解包工具

    华为固件解包工具是一款针对华为手机所推出的APP固件解包软件.它的功能十分强大,将华为官方SD卡刷机包UPDATA.APP解包成IMG镜像分区文件,还可以提取recovery.img.system.i ...

  7. Wireshark抓包工具使用教程以及常用抓包规则

    Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的,所以今天讲述的内容可能无法直接帮你解决问题,但 ...

  8. 测试过程中如何分析抓包工具抓的HTTP或TCP包

    http://www.docin.com/p-101479451.html 工作中遇到C/S的通讯接口测试,经常会遇到由于请求的结构不对或者包发送错误,导致很多问题,通常需要通过抓包工具,把发送的包抓 ...

  9. 【抓包教程】- 微信视频号下载教程,使用charles抓包工具,如何设置charles抓包工具,以及具体在某一个视频上如何抓包

    Reference Charles 功能介绍和使用教程 - 掘金 学完这篇Charles抓包教程,我直接把fiddler卸载了 - 知乎 一.下载微信视频号里的视频方法小结 1.1 抓包 例如char ...

  10. linux端口抓包工具下载,linux下的抓包工具tcpdump

    linux下的抓包工具. 抓包工具比较好用的有两个,一个是snort,一个是tcpdump,这次不说snort了,觉得这个工具虽然很强大,但是比较复杂,还是tcpdump比较简单.tcpdump wi ...

最新文章

  1. 通过RMAN克隆11g数据库(基于active database)
  2. linux ext4 img解包打包教程,解打包.img.ext4(转)
  3. websocket receive方法内 有循环怎么退出_认识HTML5的WebSocket
  4. axure文件如何加密_怎么样给PDF加密?PDF文件如何加密?
  5. 27_pytorch全连接层,使用MNIST的分类案例(学习笔记)
  6. 同步一张表、复制过滤设置
  7. ES6-4/5 解构赋值、函数默认值、数组解构、对象解构
  8. CSS中设置border属性为0与none的区别
  9. 浅谈城市规划在移动GIS方面的应用发展
  10. CCNA-第六篇-静态路由+动态路由开头
  11. 加装的硬盘进入后点不了文件夹_【装机帮扶站】第638期:空间不够,那就加加加!机械硬盘推荐~...
  12. [Flex] Flex 控件类 的自定义事件添加
  13. 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
  14. smarty3中文手册
  15. EI 和 SCI 检索号查询
  16. 计算机考在职研究生难不难,计算机在职硕士考试难吗?
  17. 【评论精选】关于冯东阳被淘宝索赔一千万事件的用户评论
  18. AES加密报错Given final block not properly padded
  19. 这么用 if-else,小鹿差点被辞退!
  20. 匿名游走 Anonymous Walk

热门文章

  1. 如何制作饼图?制作步骤有哪些?专业的饼图制作软件
  2. 读书笔记 -《一生的计划》
  3. 您能不能也宽容一点??
  4. 求任意一个自然数n的立方均可写成n个连续奇数之和。
  5. 苹果发布会:或将发布一款付费游戏订阅服务
  6. 看历史杂志看历史杂志社看历史编辑部2022年第5期目录查阅
  7. Oracle 登陆数据库的方式
  8. nodejs-CentOS64下载安装配置
  9. qt tab弹出特效_Nuke Studio 12(影视特效合成软件)中文版分享
  10. 13.歌手大赛计分程序。