Android 失败[安装\u失败\u更新\u不兼容],即使应用程序似乎未安装
尝试将我的应用程序部署到Android设备时,我遇到以下错误:Android 失败[安装\u失败\u更新\u不兼容],即使应用程序似乎未安装,android,visual-studio-2013,xamarin,xamarin.android,Android,Visual Studio 2013,Xamarin,Xamarin.android,尝试将我的应用程序部署到Android设备时,我遇到以下错误: Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 我知道,但该应用程序尚未安装。在尝试部署期间,Visual Studio已将其删除/部分删除 在过去,我通过从google play商店下载应用程序,然后将其从设置->应用程序管理器中删除来解决这个问题。但是,现在我在尝试安装时遇到错误“不兼容更新
Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
我知道,但该应用程序尚未安装。在尝试部署期间,Visual Studio已将其删除/部分删除
在过去,我通过从google play商店下载应用程序,然后将其从设置->应用程序管理器中删除来解决这个问题。但是,现在我在尝试安装时遇到错误“不兼容更新”
我试着用钛合金备份和其他一些东西来移除它,但运气不好
编辑1
我意识到(从@Motz)我没有提到显而易见的解决方案是行不通的。也就是说,该应用程序不会出现在设置->应用程序中,我已经看过好几次了。通常,这是因为我的手机上有一个签名版本,然后试图在上面部署调试版本。它陷入无效状态,未完全卸载 我的解决方案是打开命令提示符并键入:
adb uninstall my.package.id
这通常会完成卸载,以便我继续开发。无需执行
adb卸载
,只需转到您的设置->应用程序
,然后从那里执行卸载。您将看到您的应用程序变灰
这些问题通常与发行版和调试版有关,比如这里提到的@Kiliman 您必须确保应用程序已卸载
在您的手机中,尝试转到
设置/应用程序
并显示所有已安装应用程序的列表,然后确保为所有用户卸载该应用程序(在我的情况下,我已卸载了该应用程序,但仍为其他用户卸载了该应用程序)。卸载该应用程序就足以避免此问题。
INSTALL_FAILED_UPDATE_INCOMPATIBLE
但有时甚至会再次引发卸载消息,它发生在Android OS 5.0+中,因此这是解决方案:
转到设置
应用程序
,您将找到您的应用程序,并显示以下消息:
“未为此用户安装”
,我们必须使用以下选项为所有用户手动卸载:
“为所有用户卸载”
我不小心连接了两台设备
删除一台设备后,
INSTALL\u FAILED\u UPDATE\u compatible
错误消失。在我的情况下,当切换到android的最低目标版本时,以及当我更改回原始版本时(最初创建project时),我得到了这个信息。
因此,卸载成功了。但当我把我的android版本改成最新版本时,我又得到了它。为了解决这个问题,我转到了android项目的属性,在android清单部分,我添加了一个包名,例如com.dotnetdreamer.net。如果您已经有一个包名,那么您可以简单地将其重命名为其他名称 我通常在安卓5.0+版本的设备上遇到这个问题。因为它在相同的设备上有多个用户配置文件帐户。每个应用程序都将作为一个单独的实例安装给所有用户。请确保按照下面的屏幕截图为所有用户卸载
一个简单的方法是重命名软件包名称,然后再次运行从手机中删除所有应用程序文件 要自动删除手机上的应用程序,您可以使用以下步骤。快速、干净地删除应用程序和应用程序数据非常有用 使用此代码生成一个文本文件,并将其另存为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
从pc删除所有应用程序文件 使用此代码生成一个文本文件,并将其另存为DeleteBinObj.sh
find . -iname "bin" -o -iname "obj" | xargs rm -rf
转到项目文件夹中放置此脚本并在终端中执行:sh DeleteBinObj.sh您只需添加一个参数即可运行,请参见:
Run --> Parameters
在字段参数中添加-清洁安装
现在只需运行,安装前他们总是会进行深度清洁。如果这有助于某人, 我将我的应用程序部署到google play,当我卸载它并尝试在我的设备(新版本)上运行调试时,我收到了这个失败的更新消息 我无法在我的设备中看到该应用程序(它已被卸载),因此我: 再次从google play安装了第一个版本 打开的设置/App/App name 清除数据 清除了缓存 卸载了应用程序
现在,您可以再次将调试版本部署到设备:)如果您使用的是三星设备,并且可能将您的应用程序标记为Samsung Knox,那么您需要从My Knox应用程序中卸载它
仅从常规应用卸载不会从Knox应用卸载它。必须明确地做到这一点 从android设备卸载apk(您正在使用的应用程序),然后再次运行 通过命令行将Ionic与Cordova一起使用
ionic cordova run android --prod
我遇到了这个问题,发现我从以前的测试安装中删除了发布版本,但有一个旧的调试版本挂在应用程序抽屉中,我错过了。我从计算机上拔下设备,打开应用程序抽屉,使用“搜索应用程序…”查找应用程序的所有实例以卸载它们。然后我将设备重新插入计算机和viola,它成功了
谢谢大家的帮助 好的,卸载应用程序,但我们承认数据不必丢失? 这可以通过解析、升级versionCode和versionName来解决,并在“发布”模式下尝试应用程序 例如,当我们想尝试迁移数据库时,这一点很重要。
我们可以将play store上的应用程序与尚未发布的实际应用程序进行比较。。我安装了发布版本的应用程序。从我的设备上卸载应用程序后。事情进展顺利。我希望这能帮助我认识的人