即使app似乎未安装,也会失败[INSTALL_FAILED_UPDATE_INCOMPATIBLE]

时间:2014-11-07 05:44:35

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

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

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

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

过去,我通过从Google Play商店下载应用程序,然后从settings->应用程序管理器中删除它来解决此问题。但是,现在我在尝试安装它时收到错误“不兼容的更新”。

我尝试使用Titanium Backup删除它,但其他一些东西却没有运气。

编辑1

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

”中

20 个答案:

答案 0 :(得分:542)

我已经好几次见过这个了。通常是因为我的手机上有一个签名版本,然后尝试在顶部部署调试版本。它被卡在一个无法完全卸载的无效状态。

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

adb uninstall my.package.id

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

祝你好运!

答案 1 :(得分:74)

无需adb uninstall,只需转到settings->apps,然后从那里卸载即可。你会看到你的应用程序变灰了。

问题通常与版本与调试版本有关,例如@Kiliman在此处注明。

答案 2 :(得分:27)

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

$(document).ready(function() {
    $('.overlay').mouseout(function() {
    $('#testvideo').get(0).currentTime = 0;
    });
});

但有时甚至会再次引发卸载消息,它发生在Android OS 5.0 +中,因此这是解决方案:

转到INSTALL_FAILED_UPDATE_INCOMPATIBLE > Settings,您会在应用中找到以下消息:

  

"未为此用户安装"

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

  

"为所有用户卸载"

答案 3 :(得分:10)

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

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

答案 4 :(得分:5)

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

enter image description here

答案 5 :(得分:4)

我偶然连接了两台设备。

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

答案 6 :(得分:2)

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

答案 7 :(得分:1)

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

答案 8 :(得分:1)

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

答案 9 :(得分:1)

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

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

答案 10 :(得分:1)

您只需添加要运行的参数,请参阅:

Run --> Parameters

在字段参数add -cleaninstall

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

答案 11 :(得分:0)

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

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

从Google Play再次安装第一个版本

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

清除数据

清除缓存

卸载了应用

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

答案 12 :(得分:0)

如果您正在使用Samsung Device,并且有机会将您的应用标记为Samsung Knox,那么您需要从My Knox应用程序中将其卸载。

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

答案 13 :(得分:0)

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

a-$1

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

感谢大家的帮助!

答案 14 :(得分:0)

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

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

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

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

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

删除pc中的所有应用文件

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

POST tracking*/_search
{
    "query": {
    "query_string": {
      "query": "ci1483967534008.6100622@czcholsint372_te"
    }
  },
  "highlight": {
    "require_field_match": false
  }
}

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

答案 15 :(得分:0)

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

答案 16 :(得分:0)

我希望这会在将来对您有所帮助,只是在config.xml标签内转到widget,将默认id(io.ionic.starter)更改为您自己的id。看看this的Android软件包命名。

答案 17 :(得分:0)

签名与您以前的当前APP和新APK不匹配

因此,请卸载以前的应用程序并进行gradlew clean,然后再次安装apk

react-native run-android

react-native run-ios

答案 18 :(得分:0)

  1. 从连接的设备(仿真器或移动设备)上卸载您的应用
  2. 将终端插入项目文件夹cd android 3下一次运行./gradlew clean会清理您的构建 4 cd..并在下面运行 5 react-native run-android

答案 19 :(得分:0)

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