失败 [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] 即使应用似乎没有安装的主要内容,如果未能解决你的问题,请参考以下文章