【问题标题】:Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] even if app appears to not be installed失败 [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 即使应用似乎没有安装
【发布时间】: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,也因为我检查过。

标签: android visual-studio-2013 xamarin xamarin.android


【解决方案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】:
                1. 从连接的设备(模拟器或移动设备)卸载您的应用
                2. 终端进入项目文件夹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】:

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

                                【讨论】:

                                  猜你喜欢
                                  • 2012-03-02
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2020-06-12
                                  • 2018-03-07
                                  • 2015-08-23
                                  • 2014-04-27
                                  • 1970-01-01
                                  • 1970-01-01
                                  相关资源
                                  最近更新 更多