关于flutter打包无法上传的问题

2022-11-30 16:14:53 浏览数 (2)

在Android端,当minSdkVersion为24经flutter build apk打包出来的apk在大部分应用市场上都存在签名问题,无法正常上传apk。解决的方法是,使用Android Studio打开Android进行原生打包,即使用 【Build】->【Generate Signed Bundle/APK】->【选择APK】->【填写签名信息】->【Signature Versions只勾选V1】的方式进行签名。

说明:

  • 如果要支持Android 7.0以下版本,尽量同时选择两种签名方式,但如果遇到签名问题,可以只使用v1签名方案;
  • 如果需要对签名后的信息做处理修改,则使用v1签名方案。

flutter build apk是默认选择v2模式,要仅用传统方案签署,打开build.gradle文件,然后将v2SigningEnabled false添加到您的版本签名配置中:

代码语言:javascript复制
android {
    ...
    signingConfigs {
      release {
        ...
        // 加入这句
        v2SigningEnabled false
      }
    }
  }

最后,我们说一下Android打包签名的流程:

下面是各个版本签名的区别:

  • v1:对jar进行签名(在归档文件中解压缩文件内容);
  • v2:对整个apk进行签名(在整个apk文件的二进制内容上计算和验证),Android7.0引入;
  • v3:在原来v2的基础上增加了APK密钥轮转,使应用能够在APK更新过程中更改其签名密钥,Android9.0引入;
  • v4:通过 APK 签名方案 v4 支持与流式传输兼容的签名方案,Android11引入。

0 人点赞