Android APK未签名提醒

最近新建了一个项目,在build.gradle中配置好了签名,在执行打包的时候打出的包显示已签名,但是在上传市场的时候提示未签名。于是排查了好久,发现在build.gradle中配置的minsdk =24,会导致不使用V1签名,于是我使用apksigner验证了一下,确实是没有使用V1签名

也就是apk的META-INF下不会生成相关文件

Android APK未签名提醒_第1张图片

因此怀疑是应用市场在检测APK是否签名时仍然使用的是V1签名校验的方式。

按道理apk设置了minsdk>=24应用市场就不需要校验V1签名,只需要校验V2即可,因为该APK根本不可能安装到仅支持V1签名的设备上。但是为了上传市场只能去适用应用市场的规则。因此有两种方式来解决这个问题:

1.将minsdk设置成<=23 

2.保持minsdk不变,新增v1SigningEnabled true配置

signingConfigs {
    release {
        //...省略其他配置
        v1SigningEnabled true
    }
}

参考:Android apk之v1、v2、v3签名 - 知乎

你可能感兴趣的:(Android,android,签名,打包,发布)