背景
最近要上架某应用商店的时候对方告知app没有V1签名。让我纳闷的是我没必要去把我app的签名改成纯V2的吧,签名也好久没改了。
解决思路
复习了一下app的签名打包过程,看到这样一张老图
但是!现在的AS(Android Studio Chipmunk | 2021.2.1)实在没找到这个页面。那我的签名难道就真的只有V2签名了吗?
试了一下在gradle里加上两行代码编译,然而看不出编译出来的包到底是个啥签名。
signingConfigs {
config {
storeFile file("******.jks")
storePassword "******"
keyAlias = "******"
keyPassword "******"
v1SigningEnabled true
v2SigningEnabled true
}
}
这个时候需要使用到apksigner这个工具,这个工具可以检查apk的签名状态 apksigner verify -v [path]
然后一看好像还是不行,这个时候只能去了解一下V1和V2到底区别是个啥了。
搜了一下第一个结果表示google在Android7.0之后推出的V2签名。看到这个7.0就有想法了,目前我app的minsdkVersion就是24,也就是Android7.0,那根本不需要V1签名,但是没办法应用商店需要,那我把minsdkVersion降一下是不是就可以了呢?然后果然有了V1签名。
结论和吐嘈
开发一个app是不是要兼容Android7以下的版本,至少我们开发者是没打算的,但是应用商店有要求就只能改叻。总感觉我的方法不太normal,希望大家有更靠谱的方法可以指点一下。