【Android 教程系列第 29 篇】Signature Scheme v2,but no such signature was found 的解决方案

这是【Android 教程系列第 29 篇】,如果觉得有用的话,欢迎关注专栏。

一:问题描述

最近开发的 App 准备上架应用市场,我的测试机是小米的 MI 9、Android 10HUAWEI Mate 40 Pro、Android 10 ,自测没问题后使用 jarsigner 签名、加固后发给了运营的同事。

剩下的本以为就等待应用市场的反馈就行了,后面运营的同事反馈小米、华为、OPPO 等品牌的手机没有问题,唯独 vivo Android 11 的手机无法安装 App,安装时提示 解析软件包时出现问题,如下图所示

拿到同事的 vivo 手机后,用 adb 工具安装查看,如下图所示
在这里插入图片描述
整理后的关键词如下

install parse failed no certificates,base.apk is signed using APK Signature Scheme v2, but no such signature was found.

翻译后的意思是 安装解析失败,没有证书,base.apk 使用的是 v2 签名的方案,但是没有找到这样的签名

的确,我用的是 jarsigner 的签名方式,当前是 v1 签名,随后在一篇文章上找到了原因,详情请 点击此处

二:解决方案

既然没有 v2 签名,那就生成 v2 签名,而生成 v2 签名,需要用到 apksigner 工具,命令如下

apksigner sign --ks 证书签名文件路径 --ks-key-alias 证书签名别名 要签名的apk路径.apk

关于 v2 签名,不太了解的可以看下这篇博客 Android 分别使用 jarsigner 和 apksigner 对 APK 签名(v1、v2 签名)的详细教程

使用 v2 签名后,App 也能在 Android 11 的手机上正常安装了。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。

最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。

猜你喜欢

转载自blog.csdn.net/qq_42351033/article/details/122358349
今日推荐