Android super.img的解包和重新组包

这篇具有很好参考价值的文章主要介绍了Android super.img的解包和重新组包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Android super.img的解包和重新组包

Android10开始使用动态分区,system、vendor、 odm等都包含在super.img里面,可以按如下方式对super.img进行解包和组包。

super.img解包

super的解包需要工具lpunpack,但是默认没有编译,源码目录位于:system/extras/partition_tools/ ,需要手动编译生成;
在android根目录下执行

make lpunpack

编译后生成 out/host/linux-86/bin/lpunpack

开始解包:
第一步,格式转换,转化为ext4

simg2img super.img super_ext4.img

第二步,创建目录super_ext4/ 存放解包后的文件

mkdir super_ext4

第三步,解包super_ext4.img

out/host/linux-86/bin/lpunpack       super_ext4.img   super_ext4/

解包后在super_ext4/存放着是哪个完整的system.img vendor.img product.img 是ext4格式的,也可以通过mount挂载为文件目录

打包super.img

打包需要的工具lpmake,工具在out/host/linux-86/bin/lpmake
第一步,确认各个img的大小
上面解包出来super_ext4目录下的img文件,需要重新打包成super.img,在super_ext4/目录下执行

@sys2_206:~/5_Android11_sdk_78/rockdev/Image-rk3568_r/super_ext4$ stat -c '%n %s' *
odm.img 626688
product.img 213348352
system_ext.img 123666432
system.img 980586496
vendor.img 315723776

第二步,开始打包super.img
按如下命令打包

out/host/linux-86/bin/lpmake \
--metadata-size 65536 --super-name super \
--metadata-slots 2 \
--device super:3263168512 \
--group rockchip_dynamic_partitions:3258974208 \
--partition system:readonly:980586496:rockchip_dynamic_partitions --image system=out/target/product/rk3568_r/system.img \
--partition system_ext:readonly:123666432:rockchip_dynamic_partitions --image system_ext=out/target/product/rk3568_r/system_ext.img \
--partition vendor:readonly:315723776:rockchip_dynamic_partitions --image vendor=out/target/product/rk3568_r/vendor.img \
--partition product:readonly:213348352:rockchip_dynamic_partitions --image product=out/target/product/rk3568_r/product.img \
--partition odm:readonly:626688:rockchip_dynamic_partitions --image odm=out/target/product/rk3568_r/odm.img \
--sparse \
--output out/target/product/rk3568_r/super.img

这个命令可以在编译android的时候通过编译log获取,log保存在out/verbose.log.gz中,可以通过如下命令显示所有log,然后在里面找lpmake文章来源地址https://www.toymoban.com/news/detail-563896.html

gzip -cd out/verbose.log.gz|less

到了这里,关于Android super.img的解包和重新组包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解析万象:掌握Python中的解包技艺

    首先我们来看下面一个案例: [(‘都市人生都市高手’, 31), (‘玄幻奇幻东方玄幻’, 28), (‘都市人生都市修仙’, 7), (‘都市人生异术超能’, 7)] 将上面这个列表变为两个列表,名字列表和频次列表 答案很简单,看看你是不是这样想的: 那是否可以一行代码实现呢?当然可以

    2024年02月08日
    浏览(28)
  • 【C语言】深入解密C语言组包与解包的用法、应用以及const的详细解说

    目录 一、sprintf 用于组包  应用1:按照规定格式组包  应用2:将数值类型转换成字符串类型  二、sscanf 用于解包  应用1:%d提取数值‘0’~‘9’   应用2:%s提取字符串(遇到\\\'\\0\\\' 空格 回车结束提取)  三、sscanf高级应用 1、跳过数据%*d %*s(*表示跳过该数据) 2、读取指定宽

    2024年02月16日
    浏览(24)
  • 序列解包和生成器表达式

    (1) 必须一一对应 x, y, z = 1, 2 会抛出异常 (2) 括号可加可不加 可以对range对象进行解包 使用迭代器对象进行解包 使用map对象进行解包 交换两个变量的值 对列表解包 对字符串解包 切片也支持序列解包 序列解包对于列表和字典同样有效 python3.5之后的版本支持下面用法的序列解

    2024年02月07日
    浏览(35)
  • 【Android】jar包和AAR包

    以前在使用 Eclipse 开发 Android 时,如果想代码打包,只有 jar 包一个方法,但是 jar包 只能把 Java 文件代码打包进去,如果要使用一个有布局和资源的库的话,除了将 jar 放入 libs 外,还要引入相关的资源和配置文件,很麻烦。 Android Studio 出来之后,出现了一个新的方法,打包

    2024年02月15日
    浏览(28)
  • android 镜像文件img 介绍

    Android 源码 编译后,在 out/target/product/generic下生成的三个镜像文件:  ramdisk.img : 根文件系统  system.img   :包括了主要的包、库等文件 userdata.img  : 包括了一些用户数据 以及它们对应的目录 root,system,data。   ①ramdisk.img是根文件系统:android启动时 首先加载ramdisk.im

    2024年02月08日
    浏览(24)
  • android单独编译各个img命令

    $ make kernel -j12 #第二次编译可使用ninja kernel -j12 $ make bootimage -j12 #第二次编译可使用ninja bootimage -j12 $ make dtboimage -j12 #第二次编译可使用ninja dtboimage -j12 注:新电脑编译过程会提示缺一些模块/库,需根据错误提示安装相关模块/库 # 编译成功生成如下镜像 out/target/product/vangogh/

    2023年04月27日
    浏览(25)
  • Android 各镜像文件img详解

    Android编译后生成文件,在out/target/product/xxx下: cache.img、cust.img、metadata.img、misc.img(本地无)、recovery.img、super.img、userdata.img、vbmeta.img、vbmeta_system.img(仅测试适配工作,而需要烧录的文件) abl.elf、boot.img、dtbo.img、dtb.img、ramdisk.img、vendor.img Android 10(Q版本)出现了动态分区(

    2024年02月02日
    浏览(30)
  • Android Studio如何打jar包和aar包并使用

    之前有篇文章介绍了so库的生成和使用,看这里,但是,如果我们想把我们写的so库,通过java接口的方式提供出去,一般我们是打成jar包或者aar的形式提供,这篇文章介绍下如何打成jar包的,我们提供给使用方的是jar包和so库; 总的来说,AS打包生成jar包可以分成两类: 第一

    2024年02月01日
    浏览(33)
  • android通过adb命令获取boot.img镜像

    当前系统支持双分区,区a分区boot_a.img如下: 取boot.img 取出来后通过fastboot方式刷机: 参考博客:  Android手机如何提取系统内核(boot.img镜像文件提取)_Mintimate的博客-CSDN博客_安卓boot.img提取

    2024年02月13日
    浏览(32)
  • Android 浅度解析:mk预置AAR、SO文件、APP包和签名

    在Android开发中,经常需要使用到第三方库,这些库通常以AAR或JAR的形式提供。在本文中,将详细介绍如何在Android.mk文件中引用AAR文件。 AAR(Android Archive)文件是Android库项目的打包格式,它包含了Java类、资源文件、清单文件和可选的本地库文件。AAR文件是一种方便的方式来

    2024年02月13日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包