run/debug app时报错:INSTALL_PARSE_FAILED_NO_CERTIFICATES

错误表现:

run/debug时报错,错误关键信息:The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES,APK signature verification failed.

截图如下:

run/debug app时报错:INSTALL_PARSE_FAILED_NO_CERTIFICATES_第1张图片

解决方法:

不罗嗦,先直接上解决方案给大家节约时间,有兴趣的可以继续看下下面的分析。

根据不同的原因,有以下几个方案:

  • 方案一,调低minsdk,可能是你的minSdkVersion设置的太高,调低minSdkVersion即可;
  • 方案二, 运行在7.0以下手机正常,但是在7.0以上手机报错,此时可能是你签名的配置有问题,此时需要你:
  1. 打包签名时把V1,V2都勾选上(见下图)。
  2. 配置build.gradle中配置签名,v1SigningEnabled和v2SigningEnabled都设位true(见下图)。

run/debug app时报错:INSTALL_PARSE_FAILED_NO_CERTIFICATES_第2张图片

run/debug app时报错:INSTALL_PARSE_FAILED_NO_CERTIFICATES_第3张图片

  • 方案三,如果以上两个方案都没有用,可能你和我遇到了同样的情况:模拟器的问题,换模拟器吧。

以上是我遇到此问题后的解决方案,如果不了解签名中的V1,V2区别的,可以看下这篇介绍https://www.jianshu.com/p/cdc08b702fe1,

分析:

  • 看到错误首先根据提示的错误信息,是签名证书的问题,于是先尝试打包apk,执行签名和打包,然后安装模拟器中,可以运行,所以怀疑了是不是因为工程中没有配置签名,所以模拟器的手机系统为了安全不让安装。
  • 但是在配置了签名并且(v1SigningEnabled,v2SigningEnabled)都开启的情况下,依然报错;但是同样系统版本的两外一台模拟器是运行正常的(run/debug都可以)。
  • 我遇到这个问题是逍遥模拟器(7.0版本),你打开逍遥模拟器多开程序,新建一个5.0版本的模拟器,可以正常运行;下载了另外一个联想模拟器(7.1.2)的,运行也是正常。已经把问题和联系方式提交给了逍遥,希望他们可以查下问题原因优化下,哈哈。
  • 不知道你遇到这个问题是什么机器呢?欢迎在下面评论出你发现此问题的机器和场景,以及你最终的解决方案。

 

你可能感兴趣的:(安卓开发技术,android,android,studio,gradle)