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

使用AndroidSigning@3签名AAB时遇MinSdkVersionException,求解决方案

问题描述

我的Azure DevOps YAML配置如下:

- task: AndroidSigning@3
  displayName: Signing the AAB file
  inputs:
    apkFiles: '**/*.aab'
    apksignerKeystoreFile: '**********'
    apksignerKeystorePassword: $(APK_SIGNER_KEYSTORE_PASSWORD)
    apksignerKeystoreAlias: $(APK_SIGNER_KEYSTORE_ALIAS)
    apksignerKeyPassword: $(APK_SIGNER_KEY_PASSWORD)

尝试签名AAB包时收到以下错误:

Caused by: com.android.apksig.apk.MinSdkVersionException: Failed to determine APK's minimum supported Android platform version
Caused by: com.android.apksig.apk.ApkFormatException: Missing AndroidManifest.xml

解决方法

1. 验证AAB文件完整性

  • 将AAB包后缀改为.zip后解压,检查base/manifest/路径下是否存在AndroidManifest.xml文件。如果文件缺失,说明构建过程生成的AAB包损坏,需重新执行构建任务,确保构建无报错。
  • 确认构建输出目录中只有目标AAB包,避免通配符匹配到无效文件。

2. 修正路径匹配规则

  • 避免使用过于宽泛的通配符,改为指定AAB文件的精确路径,比如构建产物存放在$(Build.ArtifactStagingDirectory)下时:
apkFiles: '$(Build.ArtifactStagingDirectory)/**/*.aab'

缩小匹配范围可以减少误匹配概率。

3. 切换到适配AAB的签名工具

AndroidSigning@3的apksigner是为APK设计的签名工具,不兼容AAB结构,需改用jarsigner签名:

- task: AndroidSigning@3
  displayName: Signing the AAB file
  inputs:
    apkFiles: '**/*.aab'
    jarsignerKeystoreFile: '**********'
    jarsignerKeystorePassword: $(APK_SIGNER_KEYSTORE_PASSWORD)
    jarsignerKeystoreAlias: $(APK_SIGNER_KEYSTORE_ALIAS)
    jarsignerKeyPassword: $(APK_SIGNER_KEY_PASSWORD)
    zipalign: false # AAB无需zipalign,仅APK需要该操作

4. 检查构建环境的Android工具版本

确保构建代理上安装的Android Build Tools版本在30.0.3及以上,旧版本对AAB的签名支持存在缺陷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:32:36