Android super.img结构及解包和重新组包

Android super.img结构及解包和重新组包

从Android10版本开始,Android系统使用动态分区,system、vendor、 odm等都包含在super.img里面,编译后的最终镜像不再有这些单独的 image,取而代之的是一个总的 super.img.

1. 基础知识

1.1 为什么用 super 分区代替独立的分区?

传统的分区方式将 system、vendor、product、分区各自独立,在实际的项目开发中,通常每个分区都会留有部分空间,三个(可能没有 product) 分区累计就需要预留不少的空间,并且各个分区的大小被固定,不能灵活调整,比如 system 分区容量不够了,但是 vendor 分区又有多余的空间。

统一合并成一个分区后,使用 super 动态调整分区功能可以灵活调整内部分区大小,从而能更好的利用存储空间。

1.2 支持的动态分区包括

  • system

  • Vendor

  • Product

  • System Ext

  • ODM

对于 A/B 设备,super 分区的大小需要包括两个槽位的大小,super 分区会在内部处理 A/B 槽位,因此 A/B 设备不需要单独的 super_a 和 super_b 分区。

1.3 super分区结构

可以通过lpdump命令dump出super.img的结构:


                
### 回答1: super.img是一个含系统映像文件的打文件。在Android设备的系统镜像文件中,通常含有内核、根文件系统其他的系统分区信息。而super.img不同,它是将这些系统镜像文件整体打而不是单独存储。 使用super.img的好处是可以减少设备的系统分区数量,节省了空间并提高了系统的读取效率。此外,使用super.img还可以简化系统镜像文件的管理升级过程。 打super.img的过程主要分为三步:打系统分区、生成超级分区头创建super.img。 首先,需要将系统分区镜像文件打。这些文件括编译好的内核映像、根文件系统以及其他的系统分区信息。打的过程可以使用Linux命令行工具进行,如tar、cpio等。可以通过对具体系统分区的备份来获取系统镜像文件,然后对其进行打。 其次,需要生成超级分区头。超级分区头是一个特殊的数据结构,用于描述super.img文件中含的系统分区信息以及分区的大小、偏移等信息。生成超级分区头需要使用特定的工具或脚本,根据实际的系统镜像文件来设置相应的参数。 最后,将打好的系统分区镜像文件与超级分区头一起创建super.img。这一步可以使用Android镜像工具或第三方的打工具来完成。创建super.img后,可以将其烧录到设备的特定分区,然后通过bootloader来引导系统。 总而言之,使用super.img可以简化系统镜像的管理升级过程,提高系统的读取效率节省存储空间。打super.img需要将系统分区镜像文件打、生成超级分区头并创建super.img文件。 ### 回答2: super.img是一个用于Android系统打的工具。打是指将多个文件或目录合成一个文件的过程。super.img是指将Android系统的各个分区(如boot、system、vendor等)的镜像文件合并成一个文件super.img。 在Android系统中,各个分区的镜像文件是分开存储的,如boot.img存放启动镜像,system.img存放系统镜像。而super.img的作用就是将这些镜像文件合并为一个文件,方便进行传输部署。 使用super.img工具主要有以下几个步骤: 1. 准备好各个分区的镜像文件,例如boot.img、system.img、vendor.img等。 2. 运行super.img工具,指定需要打的镜像文件及其在super.img中的位置大小。 3. 工具会将指定的镜像文件按照预定的位置大小进行合并,生成super.img文件。 4. 最后,可以通过super.img文件来进行Android系统的安装升级。 使用super.img的好处是可以减少处理多个镜像文件的麻烦,而是将它们整合在一个文件中,方便传输部署。此外,还可以提高系统的启动速度效率,减少分区间的读写时间。 总而言之,super.img是一种将Android系统各个分区镜像文件合并成一个文件的操作,便于系统的传输部署,提高启动效率性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JerryHe

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值