2013-04-12 76 views
0

美好的一天每个人。安装新的apk并删除以前的

这里s the situation. I got an android application and it sling更新它的自我。所以它下载apk文件的新版本,并做到这一点。

Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setDataAndType(uri, "application/vnd.android.package_archive"); 
     intent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK); 
     mApp.startActivity(intent); 

安装开始,但停止并显示消息“应用程序无法安装”。我发现原因是 - 我的新apk没有签名,以前的版本是。

所以我需要我的应用程序来删除它的自我和安装新的(unsinged)apk。或者做任何事情来让我的新apk安装并运行。我需要在以前的应用程序代码中执行此操作。

回答

0

在安装应用程序之前,必须对应用程序进行签名(例如,直接从Eclipse进行开发人员签名,或使用您自己生成的密钥)。期。所以,您需要先签名,并且必须使用相同的密钥 - 否则您将收到安装错误。

参见:android documentation

我想不出任何理由,该应用程序将不得不安装一个新的版本,除了应用程序兼容性的原因(比如新的应用程式之前卸载以不同方式处理什么数据保存)。

祝你好运!