有阵子没搞android OTA了,今天在android R上编译制作OTA包时,遇到个错误

2021-07-06 09:59:18 - ota_from_target_files.py - ERROR   : ERROR:
Traceback (most recent call last):File "./build/tools/releasetools/ota_from_target_files.py", line 2258, in <module>main(sys.argv[1:])File "./build/tools/releasetools/ota_from_target_files.py", line 2231, in mainsource_file=OPTIONS.incremental_source)File "./build/tools/releasetools/ota_from_target_files.py", line 1875, in GenerateAbOtaPackagepayload.Generate(target_file, source_file, additional_args)File "./build/tools/releasetools/ota_from_target_files.py", line 402, in Generateself._Run(cmd)File "./build/tools/releasetools/ota_from_target_files.py", line 378, in _Runcommon.RunAndCheckOutput(cmd)File "/home/xxx/test_r_1.0_dev_0616/android/build/make/tools/releasetools/common.py", line 281, in RunAndCheckOutputargs, proc.returncode, output))
ExternalError: Failed to run command '['brillo_update_payload', 'generate', '--payload', '/tmp/payload-Y3iphj.bin', '--target_image', 'mydist/test-target_files-eng.xxx.zip', '--max_timestamp', u'1625203656']' (exit code 134):
Extracting images for full update.
Detected .zip file, extracting Brillo image.
Archive:  mydist/test-target_files-eng.xxx.zipextracting: /tmp/TEMP.Bi62rL/META/ab_partitions.txt
List of A/B partitions for DST_PARTITIONS: boot vendor
Archive:  mydist/test-target_files-eng.xxx.zipinflating: /tmp/TEMP.6KIdJ8/META/postinstall_config.txt
Archive:  mydist/test-target_files-eng.xxx.zipinflating: /tmp/TEMP.NTct9P/META/dynamic_partitions_info.txt
Archive:  mydist/test-target_files-eng.xxx.zip
Archive:  mydist/test-target_files-eng.xxx.zipinflating: /tmp/TEMP.PKjktt/IMAGES/boot.img    inflating: /tmp/TEMP.suTDdE/IMAGES/vendor.img
Extracted DST_PARTITIONS[boot]: 31457280 bytesConverting Android sparse image vendor.img to RAW.
Archive:  mydist/test-target_files-eng.xxx.zipinflating: /tmp/TEMP.IAnc1E/IMAGES/vendor.map
Extracted DST_PARTITIONS[vendor]: 803246080 bytes
Generating full update.
Running delta_generator with args: --out_file=/tmp/payload-Y3iphj.bin --partition_names=boot:vendor
--new_partitions=/tmp/boot.img.HGprkk:/tmp/vendor.img.k6S4Y3 --new_mapfiles=:/tmp/vendor.map.cUx0zu --major_version=2
--max_timestamp=1625203656 --new_postinstall_config_file=/tmp/postinstall_config.UQllAQ --dynamic_partition_info_file=/tmp/dynamic_partitions_info.hL5iTI
[0706/095917.994946:ERROR:payload_generation_config.cc(192)] Cannot find partition system which is in jlq_dynamic_partitions_partition_list
[0706/095917.995282:FATAL:generate_delta_main.cc(619)] Check failed: payload_config.target.ValidateDynamicPartitionMetadata().
/home/xxx/test_r_1.0_dev_0616/android/out/soong/host/linux-x86/bin/../lib64/libchrome.so(base::debug::StackTrace::StackTrace(unsigned long)+0x17) [0x7f40a8510b27]
/home/xxx/test_r_1.0_dev_0616/android/out/soong/host/linux-x86/bin/../lib64/libchrome.so(logging::LogMessage::~LogMessage()+0x8a) [0x7f40a84a1d6a]
/home/xxx/test_r_1.0_dev_0616/android/out/soong/host/linux-x86/bin/delta_generator(+0xb5ece) [0x565287ff5ece]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f40a73f2840]
/home/xxx/test_r_1.0_dev_0616/android/out/soong/host/linux-x86/bin/delta_generator(+0xb1ee9) [0x565287ff1ee9]/home/xxx/test_r_1.0_dev_0616/android/out/soong/host/linux-x86/bin/brillo_update_payload: line 625: 24190 Aborted                 (core dumped) "${GENERATOR}" "${GENERATOR_ARGS[@]}"

上面报错内容,重点应该是这句“Cannot find partition system which is in jlq_dynamic_partitions_partition_list”,这个问题怎么追查原因呢?得细看一下相关联的内容。

从上报的common.py脚本来看,会检查两个内容“META/ab_partitions.txt ”和“META/dynamic_partitions_info.txt”,会check这两个内容是否匹配。查看了一下,显示ab_partitions.txt是boot vendor和dynamic_partitions.txt,这个是我们在BoardConfig.mk中的DYNAMIC_PARTITIONS_PARTITION_LIST值,我这里配置的是BOARD_xxx_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext product vendor

这两者不相等导致的报错。

那疑问是这两个txt是在哪里写进内容的?查看到是build/make/core/Makefile中处理的

build/make/core/Makefile:4785:     echo "$${part}" >> $(zip_root)/META/ab_partitions.txt; \ifeq ($(AB_OTA_UPDATER),true)@# When using the A/B updater, include the updater config files in the zip.$(hide) cp $(TOPDIR)system/update_engine/update_engine.conf $(zip_root)/META/update_engine_config.txt$(hide) for part in $(AB_OTA_PARTITIONS); do \echo "$${part}" >> $(zip_root)/META/ab_partitions.txt; \done$(hide) for conf in $(AB_OTA_POSTINSTALL_CONFIG); do \echo "$${conf}" >> $(zip_root)/META/postinstall_config.txt; \done

很明显,要查看AB_OTA_PARTITION了,然后开始查看BoardConfig中的AB_OTA_PARTITIONS的赋值
发现确实重复定义了AB_OTA_PARTITIONS,修正后问题得到解决。

android R制作OTA包时报错相关推荐

  1. android R编译Super镜像时报错问题分析和定位

    在android R版本全编译时,遇到编译打包super.img时报错,这里介绍一下这种问题如何定位原因和解决,主要是描述一下分析的思路. 错误日志如下: out/target/product/tt/ ...

  2. 这两天用unity做安卓蓝牙demo遇到打包安卓包时报错 The option ‘android.enableR8’ is deprecated and should not be used anym

    这两天用unity做安卓蓝牙demo遇到打包安卓包时报错 The option 'android.enableR8' is deprecated and should not be used anym ...

  3. 【经验】UltralSO制作启动盘时报错:磁盘/映像容量太小

    1.问题描述 使用UltralSO制作启动盘时报错:磁盘/映像容量太小,导致制作启动盘出错. 2.原因 在联想笔记本上安装UltralSO时,会提示使用联想电脑管家来安装,然后就成功入坑了. 使用联想 ...

  4. pip下载扩展包时报错 ValueError: check_hostname requires server_hostname

    使用pip或conda等包管理工具下载python的扩展包时报错: Could not find a version that satisfies the requirement selenium ( ...

  5. android R编译OTA时报“ExternalError: Invalid ro.product.property_source_order”解决方法

    在make dist DIST_DIR=mydist编译OTA包时,遇到个错误,在以前android版本中倒是没有遇到过,这里记录一下. 报错内容: 2021-07-02 09:53:29 - com ...

  6. 基于Android Q的OTA包制作/签名(包含差分包)

    先介绍一下关于OTA 什么是OTA? 通俗的说,OTA升级是指苹果手机通过无线网络下载升级数据包,之后直接安装升级的总称.通常我们利用iPhone手机无线wifi网络登录官方网站找到手机升级所需要的数 ...

  7. R安装nCov2019包报错:Failed to install 'unknown package' from GitHub: schannel: failed to receive handsh

    在Rstudio中,安装nCov2019包报错:Failed to install 'unknown package' from GitHub: schannel: failed to receive ...

  8. python安装Python包时报错处理

    案例背景 因项目需要,环境中需要部署Pypi环境,安装Python的许多环境包,需要以下包: $ pip3 install flask $ pip3 install numpy $ pip3 inst ...

  9. Android studio混淆第三方jar包时报错

    今天在做项目的混淆打包的时候.报错: Warning:Exception while processing task java.io.IOException: The same input jar [ ...

最新文章

  1. oracle proedure 文件_关于oracle存储过程读取文件
  2. 谷歌语音转录背后的神经网络
  3. 2015年百度二面试题
  4. JS导出 excel
  5. 空间数据库Spatial Tools的使用
  6. c#输出最大值、最小值和平均值(B)【C#】
  7. 小米集团:副董事长林斌承诺5年内不出售公司股份 已作安排的除外
  8. HTML5教程:1.1 迎接新的Web时代
  9. 海森堡不确定性原理实验
  10. matlab有参函数,定义含参量函数 matlab
  11. 迷宫 DFS (模拟和DFS)
  12. 启动mongodb时发现错误libcrypto.so.10
  13. input: kMAX dimensions in profile 0 are [2,3,128,128] but input has static dimensions [1,3,128,128]
  14. C++:实现标准体重判定
  15. 电脑屏幕亮度调节器-护目镜
  16. PS仿制图章工具、油桶工具、渐变
  17. vue.js实现带表情评论功能前后端实现(仿B站评论)
  18. 微信开源PhxQueue:高可用、高可靠、高性能的分布式队列**
  19. MySQL 02 初体验
  20. new指针后,地址相同

热门文章

  1. 使用命令重定向操作符 (Redirection Operators)
  2. 控制台下修改系统驱动状态的代码
  3. 今天我不想发文了,对不起各位!
  4. 重磅!百度小程序成立开源联盟
  5. mysql 5.1 for linux_linux下安装mysql5.1.68
  6. 你不知道的BAT大数据面试题
  7. 机器学习笔记六之神经网络的学习
  8. iMeta | 华中科大宁康组综述宏基因组数据用于蛋白质三维结构预测的方法论
  9. 年后开课 | 第 4 期临床基因组家系分析,同时解决科研和临床问题
  10. ​易生信-宏基因组2020 积微学术论坛:基于大数据整合准确预测土壤的枯萎病发生...