Android构建aab程序时,我们一般情况下都会使用apksigner工具来进行v1、v2加密签名:

apksigner sign --ks [.jks文件路径] --ks-key-alias [别名] --out [签名过导出的aab文件] [即将签名的aab]

但往往会提示如下错误:

Exception in thread "main" com.android.apksig.apk.MinSdkVersionException: Failed to determine APK's minimum supported platform version. Use --min-sdk-version to override
        at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:387)
        at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:88)
Caused by: com.android.apksig.apk.MinSdkVersionException: Failed to determine APK's minimum supported Android platform version
        at com.android.apksig.ApkSigner.getMinSdkVersionFromApk(ApkSigner.java:957)
        at com.android.apksig.ApkSigner.sign(ApkSigner.java:278)
        at com.android.apksig.ApkSigner.sign(ApkSigner.java:214)
        at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:381)
        ... 1 more
Caused by: com.android.apksig.apk.ApkFormatException: Missing AndroidManifest.xml
        at com.android.apksig.ApkSigner.getAndroidManifestFromApk(ApkSigner.java:913)
        at com.android.apksig.ApkSigner.getMinSdkVersionFromApk(ApkSigner.java:955)
        ... 4 more

在官网 apksigner 却没有明确提示要添加最低构建版本,根据错误提示,以及官网的文档说明,我们很容易知道,需要制定最低构建版本进行验证即可

apksigner sign --ks [.jks文件路径] --ks-key-alias [别名] --min-sdk-version [你的最低支持版本] --out [签名过导出的aab文件] [即将签名的aab]

这样就可以正常构建出v1+v2的aab包了。
image.png

参考文献

  1. Android官网apksigner https://developer.android.com...

darkbug
112 声望9 粉丝