Android应用程序自动更新失败,报错原因已安装了存在数字签名冲突的同名数据包。通俗来讲,就是调试手机同名应用程序的签名与更新数据包签名不一致。
往往造成这种情况的是调试手机中安装有开发板的Android应用程序。
Android应用程序存在开发版和发布版的区别。Android开发版是指通过adt或者ant直接run到手机的版本,带有的是使用adt或ant生成的调试证书,而发布版则是带有私钥签名的。
至于数字签名,Android所有的用用程序都必须有数字证书,Android系统不会安装一个没有数字证书的用程序。Android
程序包使用的数字证书是可以自签名的,并不需要一个权威的数字证书机构来签名认证。如果要正式发布一个Android应用程序,必须要一个合适的私钥生成的证书来给应用程序签名,而不能使用ADT插件或ANT工具生成的调试证书来发布,数字证书都是有有效期的,Android 只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。
而解决办法是保证数字签名一致,卸载掉开发版软件,装载发布版软件。
game over。