前提:明明已经签名,在安装时却提示
INSTALL_PARSE_FAILED_NO_CERTIFICATES
异常
排查:
安装的测试机系统为 5.0,只采用了 v2 签名
解决:
改为安装在 7.0 手机或者选择 v1 + v2 签名。
原因:
在 Android 7.0 以上版本的设备上,APK 可以根据Full Apk Signature(v2 方案) 或者 JAR-signed( v1方案)进行验证; 而对于7.0以下版本的设备其会忽略 v2 版本的签名,只验证 v1 签名
结论:
- 一定可行的方案: 只使用 v1 方案
- 不一定可行的方案:同时使用 v1 和 v2 方案
- 对 7.0 以下一定不行的方案:只使用 v2 方案
如果要支持 Android 7.0 以下版本,那么尽量同时选择两种签名方式,但是一旦遇到签名问题,可以只使用 v1 签名方案