MTK Android P/Q system/vendor/super快速打包

2024-09-08 06:38

本文主要是介绍MTK Android P/Q system/vendor/super快速打包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机)

二、快速生成system.img

传统做法,使用系统自带打包命令:make snod   ,这个命令在老版本android还是比较快的,但是新系统因为在执行打包之前还是会include 很多makefile,导致效率不高

新方法:通过out/build-full_$(PROJECT_NAME).ninja  这个文件可以找到各种image的生成命令。

只不过有的image生成命令很长,我们需要提取关键信息即可,因为我们是基于系统整编过的基础上,很多依赖直接使用即可无需重新生成

注意:若开启了把system当做跟目录,out/target/product/$(PROJECT_NAME)/root也会打包进system

需要source lunch
build/make/tools/releasetools/build_image.py out/target/product/$(PROJECT_NAME)/system out/target/product/$(PROJECT_NAME)/obj/PACKAGING/systemimage_intermediates/system_image_info.txt out/target/product/$(PROJECT_NAME)/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/$(PROJECT_NAME)/systemcp out/target/product/$(PROJECT_NAME)/obj/PACKAGING/systemimage_intermediates/system.img   out/target/product/$(PROJECT_NAME)/system.img

三、生成vbmeta_system.img

out/host/linux-x86/bin/avbtool make_vbmeta_image --algorithm SHA256_RSA2048 --key device/mediatek/system/common/system_prvk.pem --padding_size 4096 --rollback_index 0  --include_descriptors_from_image out/target/product/$(PROJECT_NAME)/system.img  --include_descriptors_from_image out/target/product/$(PROJECT_NAME)/product.img --output out/target/product/$(PROJECT_NAME)/vbmeta_system.img

若替换super里的system  ,需要同时更新此文件并download

四、生成vendor.img

build/make/tools/releasetools/build_image.py out/target/product/$(PROJECT_NAME)/vendor out/target/product/$(PROJECT_NAME)/obj/PACKAGING/vendor_intermediates/vendor_image_info.txt out/target/product/$(PROJECT_NAME)/vendor.img out/target/product/$(PROJECT_NAME)/system

五、生成vbmeta_vendor.img

out/host/linux-x86/bin/avbtool make_vbmeta_image --algorithm SHA256_RSA2048 --key device/mediatek/vendor/common/vendor_prvk.pem --padding_size 4096 --rollback_index 0  --include_descriptors_from_image out/target/product/$(PROJECT_NAME)/vendor.img --output out/target/product/$(PROJECT_NAME)/vbmeta_vendor.img

若替换super里的vendor ,需要同时更新此文件并download

六、生成super.img

需要source lunch
./build/make/tools/releasetools/build_super_image.py out/target/product/$(PROJECT_NAME)/obj/PACKAGING/superimage_debug_intermediates/misc_info.txt out/target/product/$(PROJECT_NAME)/super_new.img

七、生成vbmeta.img

/bin/bash -c "(mkdir -p out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys ) && (out/host/linux-x86/bin/avbtool extract_public_key --key device/mediatek/vendor/common/boot_prvk.pem --output  out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/boot.avbpubkey ) && (out/host/linux-x86/bin/avbtool extract_public_key --key device/mediatek/vendor/common/recovery_prvk.pem --output  out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/recovery.avbpubkey ) && (out/host/linux-x86/bin/avbtool extract_public_key --key device/mediatek/system/common/system_prvk.pem --output  out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/vbmeta_system.avbpubkey ) && (out/host/linux-x86/bin/avbtool extract_public_key --key device/mediatek/vendor/common/vendor_prvk.pem --output  out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/vbmeta_vendor.avbpubkey ) && (out/host/linux-x86/bin/avbtool make_vbmeta_image --chain_partition boot:3:out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/boot.avbpubkey --include_descriptors_from_image out/target/product/$(PROJECT_NAME)/dtbo.img --chain_partition recovery:1:out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/recovery.avbpubkey --chain_partition vbmeta_system:2:out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/vbmeta_system.avbpubkey --chain_partition vbmeta_vendor:4:out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys/vbmeta_vendor.avbpubkey --algorithm SHA256_RSA2048 --key device/mediatek/system/common/oem_prvk.pem --padding_size 4096 --rollback_index 0 --output out/target/product/$(PROJECT_NAME)/vbmeta.img ) && (rm -rf out/target/product/$(PROJECT_NAME)/obj/avb_chain_keys )"

替换super,不用更新vbmeta.img

使用时将$(PROJECT_NAME)替换为你的工程名

这篇关于MTK Android P/Q system/vendor/super快速打包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147399

相关文章

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

springboot3打包成war包,用tomcat8启动

1、在pom中,将打包类型改为war <packaging>war</packaging> 2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,         *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,         打包的时候会排除这个依赖)<scope>provided

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目