当前位置: 首页 > 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))

相关文章:

  • 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)
  • 大学2025丨北大教授陈平原:当卷不过AI时,何处是归途
  • 2024年全国博物馆接待观众14.9亿人次
  • 美国考虑让移民上真人秀竞逐公民权,制片人称非现实版《饥饿游戏》
  • 菲律宾选举委员会公布中期选举结果,马科斯阵营选情未达预期
  • 美联储主席:供应冲击或更频繁,将重新评估货币政策方法中的通胀和就业因素
  • 夜读丨母亲为燕子打开家门