如果你不是开发者:如果你在android上更新一个已经安装过较早版本软件时,安装到最后一步提示你:已安装了存在签名冲突的同名数据包,然后安装失败。这是因为旧版软件的签名信息与新版不一致造成的。你可以卸载这个软件,然后安装新版软件。
如果无法卸载,可能手机(pad)在发售前将该软件内置在手机中无法卸载。如果是这个原因的话,你可以尝试“root”系统,然后卸载掉该软件的旧版本,然后安装。
如果你是一个开发人员,那么出现这个问题可能是因为eclipse造成的,解决的方法很简单:
1)、之所以造成这样的原因就是由于你当前手机的apk是你直接从eclipse上下载下来的,这之间会造成签名不一致的错误;如果你是要做升级的操作,那么你的手机上的apk就应该是你最先打包供用户使用的第一代apk,你要升级的apk则是第二代apk;所以你自己进行测试的时候你也应该站在用户的角度去测试,下载apk(不是从eclipse上下载,而是打包的apk);再进行升级的流程,则就不会出现之前的错误了,亲身测试,绝对OK!!!
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
CLog.e("installApk", "file.exists()true");
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
startActivity(intent);