失败 [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 即使应用似乎没有安装

Posted

技术标签:

【中文标题】失败 [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 即使应用似乎没有安装【英文标题】:Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] even if app appears to not be installed 【发布时间】:2015-01-03 20:50:04 【问题描述】:

尝试将我的应用部署到 android 设备时,我收到以下错误:

Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

我知道this question,但未安装该应用程序。在尝试部署期间,它已被 Visual Studio 删除/部分删除。

过去我通过从 google play store 下载应用程序然后从设置->应用程序管理器中删除它来解决这个问题。但是,现在我在尝试安装它时收到错误“不兼容的更新”。

我尝试使用 Titanium Backup 和其他一些东西将其删除,但没有成功。

编辑 1

我意识到(来自@Motz)我没有提到明显的解决方案不起作用。即,该应用不会出现在“设置”->“应用”中

【问题讨论】:

您的设备上安装了哪个版本? 如果您的应用所需的最低 SDK 版本高于您的设备操作系统版本,可能会发生这种情况。 在尝试安装应用程序时检查logcat 以获取更多线索。应该有一个日志条目,其中包含有关失败原因的更多详细信息。 你的手机是什么版本的Android? 我的安卓版本是4.4.2。最低 SDK 没问题,因为我之前安装过这个 App,也因为我检查过。 【参考方案1】:

我已经看过好几次了。通常,这是由于我的手机上有一个签名的发布版本,然后尝试在上面部署调试版本。它卡在未完全卸载的无效状态。

对我有用的解决方案是打开命令提示符并键入:

adb uninstall my.package.id

这通常会完成卸载,以便我继续开发。

【讨论】:

如果您使用安卓设备进行测试,并且如果您在另一台机器上安装您的应用程序,然后您尝试在您的机器上安装,则会出现此错误。此解决方案有效。 我已经通过 google play store 安装了我的应用程序,并尝试通过 Visual Studio Code 重新部署。为了解决这个问题,我卸载了设备上的应用程序。 我正在使用 React Native(适用于 Android),是的,已经安装了签名版本是问题所在。我忘记了我事先构建了一个发布版本,然后在尝试安装调试版本时出现此错误时感到惊讶。【参考方案2】:

无需adb uninstall,只需转到您的settings->apps,然后从那里进行卸载。您将看到您的应用程序变灰。

这些问题通常与发布版本与调试版本有关,例如此处提到的@Kiliman。

【讨论】:

对不起@Motz,这实际上是我做的第一件事,但应用程序不在应用程序下......我现在编辑了我的问题 更新:使用 Android 5.0 (lollipop) 时,现在也可以使用。显示大小为 0.00KB 的应用程序,然后我可以轻松卸载它。 设置 > 应用程序 > 卸载并不总是有效。有时,多个用户配置文件会出现问题,并且不会为所有用户卸载。或者应用程序在一个糟糕的状态下被中途卸载。 adb uninstall 会处理这些场景。 这并不总是正确的。我过去经常这样做,而且效果很好。但是今天我的应用程序根本不存在。而且它也不在应用程序列表的末尾(有时您必须为所有用户卸载,而不仅仅是为当前用户卸载)。 adb uninstall 完美运行。【参考方案3】:

卸载应用程序足以避免此问题。

INSTALL_FAILED_UPDATE_INCOMPATIBLE

但有时甚至会再次出现卸载消息,它发生在Android OS 5.0 +,所以这是解决方案:

转到Settings > Apps,您会找到带有消息的应用:

“未为该用户安装”

,我们必须为所有用户手动卸载选项:

“为所有用户卸载”

【讨论】:

是的,它有效。为所有用户卸载后,ionic cordova run android --device 有效!谢了!【参考方案4】:

您必须确保已卸载该应用程序。

在您的手机中,尝试转到 settings/applications 并显示所有已安装应用程序的列表,然后确保已为所有用户卸载该应用程序(在我的情况下,我已卸载该应用程序,但仍为其他用户卸载)。

【讨论】:

【参考方案5】:

我通常在 Android 5.0+ 版本的设备上遇到这个问题。因为它在同一设备上具有多用户配置文件帐户。每个应用程序都将作为所有用户的单独实例安装。确保为所有用户卸载,如下图所示。

【讨论】:

【参考方案6】:

我不小心连接了两个设备。

移除一台设备后,INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误消失了。

【讨论】:

如果模拟器意外运行而你没想到它也会发生【参考方案7】:

从您的 android 设备上卸载 apk(您正在使用的应用程序),然后再次运行。

【讨论】:

【参考方案8】:

你可以只添加一个参数来运行,见:

Run --> Parameters

在字段参数add -cleaninstall

现在只需运行,它们总是会在安装前进行深度清理。

【讨论】:

【参考方案9】:

好的卸载应用程序,但我们承认数据不是一定要丢失? 这可以解决,升级 versionCode 和 versionName 并在“Release”模式下尝试应用程序。

例如,当我们想要尝试迁移数据库时,这很重要。 我们可以将 Play 商店中的应用与尚未发布的实际应用进行比较。

【讨论】:

【参考方案10】:

就我而言。我安装了发布版本的应用程序。从我的设备上卸载应用程序后。一切正常。

【讨论】:

【参考方案11】:

签名与您以前的当前应用程序和新的 APK 不匹配

所以请卸载之前的应用并 gradlew clean 并再次安装 apk

react-native run-android

react-native run-ios

【讨论】:

【参考方案12】:
    从连接的设备(模拟器或移动设备)卸载您的应用 终端进入项目文件夹cd android 3 next run ./gradlew clean 它清理你的构建 4 cd.. 并在下面运行 5react-native run-android

【讨论】:

【参考方案13】:

首先,您必须在模拟器或设备中卸载您的应用程序,然后您可以cd ./android -> ./gradlew clean 然后再次构建项目(运行android或ios)->解决

【讨论】:

【参考方案14】:

在我的情况下,当我切换 android 的最低目标版本以及改回原始版本时(当我最初创建项目时)时,我得到了这个。 所以对于那个卸载工作。但是当我将我的 android 版本更改为最新版本时,我又得到了它。为了解决这个问题,我转到了 android 项目的属性,在 Android 清单部分,我添加了一个 包名,例如 com.dotnetdreamer.net。如果您已经有一个包名称,那么您可以简单地将其重命名为其他名称。

【讨论】:

我将应用程序的“目标构建版本”从 4.4.2 更改为 5.0.1。现在我无法更新我的应用程序的最新版本,而不是使用相同密钥签名的先前发布的版本。您能否提供任何解释/讨论此问题的 URL,因为我需要与我的客户分享。我正在使用 eclipse 并且也尝试以您的方式解决此问题,但在项目属性中找不到“Android Manifest”部分。你能帮忙吗?谢谢【参考方案15】:

一个简单的方法是重命名你的包名并再次运行

【讨论】:

【参考方案16】:

从手机中删除所有应用文件

要自动删除手机上的应用,您可以使用以下步骤。以快速干净的方式删除您的应用和应用数据非常有用。

使用此代码创建一个文本文件并将其保存为 Uninstall.sh。在终端中转到此脚本的文件夹(放置它的位置)并执行:sh Uninstall.sh YOURNAMESPACE

现在您的命名空间文件夹(包括保存的应用文件和数据库)将被删除。

  echo "Going to platform tools $HOME/Library/Android/sdk/platform-tools"
  cd $HOME/Library/Android/sdk/platform-tools
  echo "uninstalling app with packagae name $1"
  ./adb uninstall $1

从电脑中删除所有应用文件

使用此代码创建一个文本文件并将其保存为 DeleteBinObj.sh。

find . -iname "bin" -o -iname "obj" | xargs rm -rf

转到您放置此脚本的项目文件夹并在终端中执行:sh DeleteBinObj.sh

【讨论】:

【参考方案17】:

如果这对某人有帮助, 我将我的应用程序部署到 google play,当我卸载它并尝试在我的设备(新版本)上运行调试时,我收到了这个失败的更新消息。

在我的设备中看不到该应用(它已被卸载)所以我:

再次从 google play 安装第一个版本

打开的设置/应用/应用名称

清除了数据

清除缓存

卸载应用

现在您可以再次将调试版本部署到设备上 :)

【讨论】:

【参考方案18】:

如果您使用的是三星设备并且有机会将您的应用程序标记为 Samsung Knox,那么您需要从 My Knox 应用程序中卸载它。

仅从常规应用程序卸载不会从 Knox 应用程序卸载它。必须明确完成!

【讨论】:

【参考方案19】:

通过命令行使用 Ionic 和 Cordova...

ionic cordova run android --prod

我遇到了这个问题,发现我已经从之前的测试安装中删除了发布版本,但是有一个旧的调试版本挂在我错过的应用程序抽屉中。我从计算机上拔下我的设备,打开应用程序抽屉并使用“搜索应用程序..”来查找应用程序的所有实例以卸载它们。然后我将设备重新插入电脑和中提琴,它工作了!

感谢大家的帮助!

【讨论】:

【参考方案20】:

我希望这对将来的某人有所帮助,但只需在 widget 标签内找到您 config.xml,将默认 id(io.ionic.starter) 更改为您自己的 id。查看this 了解android 包命名。

【讨论】:

【参考方案21】:

从模拟器或智能手机中卸载应用程序并尝试再次运行

【讨论】:

以上是关于失败 [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 即使应用似乎没有安装的主要内容,如果未能解决你的问题,请参考以下文章

Java笔记-快速失败and安全失败

VMware Player 12安装失败

Hashicorp Vault - 读取失败:解密失败:密码:消息身份验证失败

解决uWsgi 安装失败问题

vc2012安装失败因为某些必需的组件失败

颤振包失败,版本解决失败