安装失败并显示消息INSTALL_FAILED_UPDATE_INCOMPATIBLE:程序包签名与以前安装的版本不匹配

时间:2018-07-10 18:35:29

标签: android android-studio google-play

我想在手机中运行我的应用程序,但收到以下消息:

安装失败,并显示以下消息:

  

INSTALL_FAILED_UPDATE_INCOMPATIBLE:程序包签名不匹配   先前安装的版本;忽略!。

     

有可能通过以下方式解决此问题:卸载apk的现有版本(如果存在),然后重新安装。   警告:卸载将删除应用程序数据!   您要卸载现有的应用程序吗?

在我的手机中,我已经安装了Google Play以前版本的应用程序。我知道从手机上卸载旧版本的应用程序可以解决此问题,但我不想这样做,因为那样我可能会丢失所有应用程序特定的数据。

我尝试过的事情:

  • 使用相同的密钥库生成应用的签名版本。像以前一样,jks
  • 更改build.grandle文件中的versionCode和versionName,然后生成新版本的应用程序

我仍然有同样的问题。我该怎么做才能在不丢失数据的情况下更新我的应用?

3 个答案:

答案 0 :(得分:1)

我可以想到两种可能性

  1. 您使用Google Play应用签名。如果您使用Google Play应用签名,则来自Google Play的应用中的签名将始终与来自您的IDE的应用不同。使更新生效的唯一方法是从Google Play更新应用。在开发过程中执行此操作的最佳方法是使用"Internal test track"。 Google启动了这些at Google I/O this year,它们使您可以在几秒钟内从Google Play更新您的应用程序。因此,当您进行更新时,请勿从IDE安装,上传到Google Play内部测试轨道,重新发布,然后再从Google Play更新。真的很快。
  2. 您没有使用Google Play应用签名,但是您正在尝试安装调试版本而不是发行/生产版本。确保您正在构建正式版APK,并使用与上传到Google Play的密钥相同的密钥对其进行签名。

答案 1 :(得分:0)

如果我理解正确,则想在手机中重新安装“相同”的apk,但代码(更新)有所更改,但Android Studio无法安装新的apk。

我只能想到一件事,这就是解释:

请记住,android有不同的“ Build Variants”,可能有很多,但您将始终拥有“ debug”和“ production” Build变体,据我所读,您已经在Play Store中安装了一个,这意味着您已经拥有手机中已经安装了“生产”构建变体,因此您需要具有相同构建数据(代码和名称版本)以及代码中的更新的新“生产”变体版本。

使用与先前版本(代码和名称版本)相同的数据构建签名的apk(就像您以前上传到Play商店的数据一样)。

找到已签名的apk。 使用adb检查您连接的设备,并期待列表

adb devices

使用adb安装此新apk。

adb -s <device_identifier> install <apk_name_include_apk>

按照这些步骤进行操作应该可以安装所需的内容。

答案 2 :(得分:0)

进入您的React Native > Android >app 在应用文件夹中 您会看到build只是删除了此文件夹,并通过npm cache clean cmd / Terminal Command清除了React Native项目。

现在尝试运行,希望它能为某些人运行。 它对我有用。