You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加厂商二进制文件后,AOSP12/13执行sign_target_files_apks因缺失vendor.img报错

解决AOSP构建OTA签名时缺失vendor.img的问题

问题原因

添加厂商二进制文件后,其修改了vendor分区的构建逻辑,导致make dist生成的targetfiles包中未包含vendor.img,而签名工具sign_target_files_apks默认会从targetfiles的IMAGES目录读取该镜像,因此触发找不到文件的错误。

修复步骤

1. 手动补充vendor.img到targetfiles目录

  • 编译完成后,在AOSP构建输出目录(通常是out/target/product/sargo/)找到vendor.img
  • 将该文件复制到错误提示中的/tmp/targetfiles-xxx/IMAGES/目录下
  • 重新执行sign_target_files_apks命令

2. 修改构建配置,确保make dist自动包含vendor.img

  • 打开设备对应的BoardConfig文件(device/google/sargo/BoardConfig.mk),确认以下配置存在:
    TARGET_COPY_OUT_VENDOR := vendor
    
  • 打开设备的产品配置文件(device/google/sargo/sargo.mk),添加dist规则以包含vendor.img:
    $(call add-dist-files, $(PRODUCT_OUT)/vendor.img)
    
  • 重新执行make dist生成完整的targetfiles包,再进行签名操作

3. 检查厂商二进制文件的脚本影响

  • 解压厂商提供的二进制文件,查看其中的setup.sh或相关配置脚本,确认是否有修改TARGET_COPY_OUT_VENDOR或镜像输出路径的逻辑
  • 如果存在此类修改,调整脚本使其与AOSP默认的镜像收集逻辑兼容

验证方法

完成上述操作后,重新执行make dist,解压生成的targetfiles压缩包,检查IMAGES目录下是否存在vendor.img,再运行签名命令即可确认问题是否解决。

内容的提问来源于stack exchange,提问作者Dean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:25:26