当前位置: 首页 > news >正文

android s下make otapackage编译失败

[DESCRIPTION]

android s上,我司推荐使用split build的方式进行编译,但是部分客户依旧会采用AOSP full build的方式进行编译。而我司在这块release的时候,并未进行验证。因此执行make otapackage的时候,会出现如下报错。

[0312/161424.537038:INFO:payload_generation_config.cc(183)] Target build supports VABC
[0312/161424.537135:ERROR:payload_generation_config.cc(211)] Cannot find partition product which is in main_partition_list
[0312/161424.537148:FATAL:generate_delta_main.cc(628)] Check failed: payload_config.target.ValidateDynamicPartitionMetadata(). 

原因是因为编译时,AB_OTA_PARTITIONS没有吃到全部的分区,导致build时,缺少product分区报错。
(注:也不能只在AB_OTA_PARTITIONS添加product分区,虽然这样可以编译通过,但是后续因为缺少preloader lk等分区,会导致升级失败)

[SOLUTION]

添加如下code重新编译:

  • device/mediatek/build/Android.mk
+ifeq (sys vnd, $(strip $(MTK_SPLIT_BUILD_LAYERS)))
+AB_OTA_PARTITIONS := $(sort $(AB_OTA_PARTITIONS) $(MTK_SPLIT_VENDOR_AB_OTA_PARTITIONS))
+endif
BOARD_PACK_RADIOIMAGES := $(BOARD_PACK_RADIOIMAGES) $(sort $(MTK_SPLIT_VENDOR_BOARD_PACK_RADIOIMAGES))
INSTALLED_RADIOIMAGE_TARGET := $(INSTALLED_RADIOIMAGE_TARGET) $(sort $(MTK_SPLIT_VENDOR_INSTALLED_RADIOIMAGE_TARGET))
http://www.dtcms.com/a/38091.html

相关文章:

  • Linux:互斥
  • 算法与数据结构(格雷编码)
  • Node.js 中 fs 模块的高级用法
  • 基于 Spring Boot 的高校网上缴费综合务系统设计与实现
  • C# 封装
  • WIFI的SSID超长,隐藏,重复 (2.4G和5G差异)
  • DeepSeek 提示词:基础结构
  • java给钉钉邮箱发送邮件
  • stm32仿真 74hc238流水灯 数码管动态数字显示
  • 快速入门——前端数据模拟MockJS
  • java后端开发day19--学生管理系统升级
  • TypeError: the JSON object must be str, bytes or bytearray, not dict
  • LLM全栈框架完整分类清单(预训练+微调+工具链)
  • VMware中的linux常用指令
  • STM32 缺一不可的最基础的初始化部分
  • CSS—引入方式、选择器、复合选择器、文字控制属性、CSS特性
  • smolagents学习笔记系列(六)Secure code execution
  • Redis 面试题
  • RT-Thread+STM32L475VET6——TF 卡文件系统
  • 创建型模式 - 原型模式 (Prototype Pattern)
  • 【Leetcode】两数之和
  • 【Blender】三、材质篇--01,Blender材质基础 原理化BSDF
  • Go红队开发—基础语法入门
  • 如何在 Ubuntu 上安装和使用 Podman ?
  • 【STL】4.<list>
  • kotlin 知识点 七 泛型的高级特性
  • Java 入门第一课 InteliJ IDEA 的快捷操作
  • 阿里云可观测全面拥抱 OpenTelemetry 社区
  • 【Keil5教程及技巧】耗时一周精心整理万字全网最全Keil5(MDK-ARM)功能详细介绍【建议收藏-细细品尝】
  • JVM相关面试题