开发环境:Android Studio 3.0 ,gradle 3.0.0
原本通过Android Studio的调试功能安装了debug版本到真机上的。准备签出release版本测试一下。
签出release之后,不论是通过web下载,qq发送,还是其它什么方式发到手机上进行安装,都提示“程序未安装”。
按照经验惯例:
1、检查签名=》正确
2、检查minSdkVersion=》正确
这就郁闷了。
花了一整天的时间来查,为什么minSdkVersion没有起作用。但是都不管用,千篇一律的各种复制粘贴的解决方案。完全解决不了这个问题。
后来突然想到为啥不去看看他是为什么提示“程序未安装”的呢?万一有其它什么可能呢?
于是就查logcat。
终于抓到一条有用的信息:
D/InstallAppProgress: Installation error code: -103
然后查了查这个103错误。各种信息都显示说是签名错误。
于是重新检查签名key。。。。确实是正确的。
于是重新签release包。
这次注意到在Android Studio签release包的时候,下面有个提示:
Signature Version: V1(Jar signature) V2(Full APK Signature)
这个时候默认状态V2是被选中了的。
于是又去查查了一下V1、V2分别是个什么意思。
具体意思就不写了。
总之解决方案就是把V1、V2都勾上或者只勾V1.
这下是顺利的把release版安装上来了。