APK更新时,发生<签名冲突>

出现"已安装了存在签名冲突的同名数据包"的原因及解决办法

如果你在android上更新一个已经安装过较早版本软件时,安装到最后一步提示你:已安装了存在签名冲突的同名数据包,然后安装失败。这是因为旧版软件的签名信息与新版不一致造成的。

如果你是一个开发人员,那么出现这个问题可能是因为,较旧的版本你是使用eclipse自动发布到模拟器上的,而eclipse自动发布时使用的是一个测试用签名,这个签名与你正式打包的签名不是一个。(这个问题一般发生在测试自动更新功能上,嘿嘿)。想继续测试自动更新,解决的办法也很简单,手工删除该软件的旧版(eclipse自动安装的那个),然后使用adb工具安装旧版再测试新版就好。自动更新的安装代码一般是这样:

Intent intent = new Intent(Intent.ACTION_VIEW);              

              intent.setDataAndType(Uri.fromFile(new File(savefolder, UPDATE_SAVENAME)),  

                                                            "application/vnd.android.package-archive");      

               startActivity(intent);

你可能感兴趣的:(APK更新时,发生<签名冲突>)