【问题标题】:Installation failed with message INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package signatures do not match the previously installed version安装失败并显示 INSTALL_FAILED_UPDATE_INCOMPATIBLE 消息:包签名与先前安装的版本不匹配
【发布时间】:2018-07-10 18:35:29
【问题描述】:

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

安装失败并显示消息:

INSTALL_FAILED_UPDATE_INCOMPATIBLE:包签名不匹配 以前安装的版本;无视!

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

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

我尝试了什么:

  • 使用与以前相同的 keystore.jks 生成应用的签名版本
  • 更改 build.grandle 文件中的 versionCode 和 versionName,然后生成新版本的应用程序

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

【问题讨论】:

标签: android android-studio google-play


【解决方案1】:

我能想到两种可能

  1. 您使用 Google Play 应用签名。如果您使用 Google Play App Signing,那么来自 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 的密钥相同的密钥进行签名。

【讨论】:

  • 我使用 Google Play App Signing 并且按照您在第一点中所写的进行了操作。一切都很好。非常感谢:)
  • 很好的答案!谢谢
【解决方案2】:

如果我的理解正确,您想在您的手机中重新安装“相同”的 apk,但对代码进行了一些更改(更新),但 Android Studio 无法安装新的 apk。

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

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

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

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

adb devices

使用 adb 安装这个新的 apk。

adb -s <device_identifier> install <apk_name_include_apk>

按照这些步骤,您应该可以安装所需的东西。

【讨论】:

  • 我得到同样的错误:adb: failed to install release.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package signatures do not match the previous install version;忽略!]
【解决方案3】:

进入你的React Native &gt; Android &gt;app 在应用程序文件夹中, 你可以看到一个build 只需删除这个文件夹并通过npm cache clean cmd/终端命令清除React Native 项目。

现在尝试运行,我希望它会为你们中的一些人运行。 它对我有用。

【讨论】:

    猜你喜欢
    • 2021-01-13
    • 2015-10-07
    • 2018-09-20
    • 1970-01-01
    • 2017-06-02
    • 2018-08-14
    • 2017-08-12
    • 2016-12-05
    • 2017-07-31
    相关资源
    最近更新 更多