错误表现:
run/debug时报错,错误关键信息:The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES,APK signature verification failed.
截图如下:
解决方法:
不罗嗦,先直接上解决方案给大家节约时间,有兴趣的可以继续看下下面的分析。
根据不同的原因,有以下几个方案:
- 方案一,调低minsdk,可能是你的minSdkVersion设置的太高,调低minSdkVersion即可;
- 方案二, 运行在7.0以下手机正常,但是在7.0以上手机报错,此时可能是你签名的配置有问题,此时需要你:
- 打包签名时把V1,V2都勾选上(见下图)。
- 配置build.gradle中配置签名,v1SigningEnabled和v2SigningEnabled都设位true(见下图)。
-
方案三,如果以上两个方案都没有用,可能你和我遇到了同样的情况:模拟器的问题,换模拟器吧。
以上是我遇到此问题后的解决方案,如果不了解签名中的V1,V2区别的,可以看下这篇介绍https://www.jianshu.com/p/cdc08b702fe1,
分析:
- 看到错误首先根据提示的错误信息,是签名证书的问题,于是先尝试打包apk,执行签名和打包,然后安装模拟器中,可以运行,所以怀疑了是不是因为工程中没有配置签名,所以模拟器的手机系统为了安全不让安装。
- 但是在配置了签名并且(v1SigningEnabled,v2SigningEnabled)都开启的情况下,依然报错;但是同样系统版本的两外一台模拟器是运行正常的(run/debug都可以)。
- 我遇到这个问题是逍遥模拟器(7.0版本),你打开逍遥模拟器多开程序,新建一个5.0版本的模拟器,可以正常运行;下载了另外一个联想模拟器(7.1.2)的,运行也是正常。已经把问题和联系方式提交给了逍遥,希望他们可以查下问题原因优化下,哈哈。
- 不知道你遇到这个问题是什么机器呢?欢迎在下面评论出你发现此问题的机器和场景,以及你最终的解决方案。