项目场景:
app版本升级问题
问题描述:
app升级问题
当app完成下载时,单击安装时会出现“签名冲突”错误。错误提示如下图:
可以看见,原来的版本是4.0,现在的版本是5.0 。点击安装会出现如下图的错误。
这个提示已经非常明确了。已经安装了签名冲突的应用。
原因分析:
这个原因已经非常的明确了,就是说在你生成APK文件时需要一个签名文件。
这就是签名文件的配置。如果你还没有,就点击Create new…去创建一个。
所谓APP升级,就是你在服务器端有一个最新的APP安装包,你的客户端也已经安装了,只不过你客户端安装的不是最新版本的。现在需要更新。
那么问题就很清楚了,系统提示我们app签名不一致,究竟是谁和谁不一致。就是我们服务器上最新的APP安装包和我们现在手机上已经安装了的APP签名文件不一致。所以,导致了安装失败。
签名文件一直没有变过,怎么会不一样?
经过查阅资料,我发现。我手机上的客户端不是打包成apk文件进行安装的,而是通过手机数据线,打开手机的开发者选项,通过数据线安装的。这两者是有区别的。
重点
经过编译生成apk文件走的是你配置的签名文件,而连接数据的数据线,通过运行android studio的运行按钮来安装的,它走的是系统的测试签名。所以才导致了问题。
解决方案:
问题搞清楚了,解决起来就很快。
直接打包生成APK文件,手机上直接安装开发工具编译生成好的apk文件。
所有的开发工具,像android studio、eclipse、idea等直接连着手机数据线安装的这种方式,走的都是系统的测试签名。