Android安装程序包安装程序无法安装apk文件?

时间:2010-11-23 23:08:00

标签: android

全部 我在代码中安装我的apk文件时遇到了一些问题。想知道是否有人能找出我做错了什么。 我想要做的是在我们的程序中放置一个Check Upgrade功能。当用户点击它时,它会向我们的Web服务器发送请求并找出最新版本。我使用app versionName标记版本,如2010.11.23。我不使用Manifest.xml文件中的版本代码。所以我们的程序看到最新版本名称比它本身晚,它会下载最新版本,然后使用以下代码安装新的apk文件:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(strNewAPKFile),"application/vnd.android.package-archive");
this.startActivity(intent);

现在看起来,每当我更改VersionName时,它都将无法安装apk文件。它下载文件很好。我不知道为什么。有时,在Eclips中,当我点击调试时,我收到错误消息“由于不同的应用程序签名而重新安装失败”。我不知道这是否是导致安装失败的相同错误。

所以,看起来我的问题是:

  1. 升级逻辑应该有效吗?我想知道它是否与VersoinName有关。
  2. 什么可能导致应用程序签名更改? (在我将它放在我们的服务器上之前,我确实对我们的程序进行了签名,但我总是对不同的versionName使用相同的密钥文件。)
  3. 欢迎任何意见。

1 个答案:

答案 0 :(得分:0)

每当您创建应用时,该应用都会被签名。如果使用Eclipse创建它,它将使用调试密钥自动签名。如果您切换计算机,您可能会有一个不同的密钥。如果您导出应用程序未签名,然后使用您自己的密钥签名,它将拥有您自己的密钥。每个密钥都不兼容,需要您卸载并重新安装该应用程序。