当我试图在设备上安装编译过的.apk时,install_failed_update_不兼容

我已经从CyanogenMod 9编译了Trebuchet launcher,并试图用adb安装它:

$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

我用CM9试了Nexus S,用JB试了Galaxy Nexus。为什么我得到这个错误?

编辑:在我的情况下,我尝试用包管理器重新安装系统包。这是不支持的,所以我得到这个错误。在不同的情况下,错误的来源可能不同。

250748 次浏览

我只是重命名了包,它为我工作。

或者如果你正在使用Ionic,你可以删除应用程序,然后再试一次,当Ionic检测到你正在部署的应用程序不是来自同一个版本时,就会发生这种情况。这种情况经常发生在你从pc换电脑的时候。

我安装了Astro文件管理器,并搜索了以前版本的apk-file,在sdcard上找到了一个,并使用Astro文件管理器删除了apk-file。

这意味着您要安装的应用程序已经安装。只需删除旧的,然后再试一次。

  1. 转到:您的adb文件夹\sdk\platform-tools\
  2. 键入cmd
  3. 类型:adb remount on命令窗口
  4. 亚行壳
  5. rm /系统/应用程序/ YourApp.apk
  6. 重新启动设备

试一试

adb uninstall package-name

这对我很管用。我已经删除了我的应用程序使用钛备份。然而,我认为钛备份并没有完全删除我的应用程序。

就我而言,我无法通过设备管理器或Astro找到这款应用的任何版本。

我最后做的是:

1)从应用商店下载最新版本的App

2)在重启设备之前,应用程序在设备管理器中仍然不可见。

3)从设备管理器中删除应用程序

4)重新运行我的项目

5)一切正常

希望这对大家有所帮助

进入设置/应用程序/

这对我来说很有效

有两种方法可行

从移动设备手动卸载应用程序

2:打开命令提示符,跟踪__abc0的路径,执行以下命令

adb uninstall your_package_name

这可能是因为你有您的设备中有多个用户,而你刚刚删除了一个(让apk仍然存在于其他(s))上的应用程序。

我在所有账户上都删了,之后就有用了。

如果你的设备支持多个用户,你可能也必须删除每个帐户的应用程序。

我通常使用adb,这是有效的 adb uninstall <your-package-name> < / p >
  1. 去设置/应用程序/搜索你的应用程序和卸载…
  2. 打开命令提示符和“adb卸载”

这对我来说很有效

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

INSTALL_FAILED_UPDATE_INCOMPATIBLE

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

转到Settings >Apps,你会发现你的应用程序的信息:

"此用户未安装quot; enter image description here < / p >

我们必须手动卸载所有用户!,然后我们就可以安装编译好的应用程序了。

enter image description here

另一个选项:

  • 移除旧的应用程序并重新安装。

  • 使用Android调试桥命令:

    adb卸载[包名]

在我的情况下,我已经从Playstore安装了应用程序,当我试图从EclipseAndroid工作室运行后,它将尝试在APK上再次安装,这将不允许。

所以首先你必须卸载团体的APK,之后你必须尝试。

谢谢你!

你必须从不同的计算机上安装应用程序。对我来说,问题就出在这里。所有你需要做的只是卸载应用程序,重新安装或运行它从你正在工作的计算机。这可能是一个晚答复,但它将帮助一些人。谢谢

问题是为什么他会得到这个错误。卸载将解决这个问题,但在我的情况下,当我安装apk的编译版本时,问题就出现了。我在试着更新我的应用程序。所以我做了什么,我建立了一个签名的apk,然后尝试安装apk, apk安装完美。因此,我不得不删除旧的apk,而是签署更新后再安装它。

如果APK是内置在Android项目中。可文件。可能是因为签名证书被更改了。

在我的问题中,我添加了LOCAL_CERTIFICATE:=平台。因为原来的apk签名时没有这个标签。

对于MIUI用户,除了通常的USB调试选项,请确保启用这些设置:

通过USB安装
USB调试(安全设置)

然后再次尝试安装app时接受提示。

我得到了同样的问题,并做了以下修复它。

  1. 设置>存储>清除缓存数据
  2. 应用程序>卸载显示在那里的应用程序。我已经卸载了我的应用程序,但它仍然显示在那里。
  3. 重新启动,然后一切正常。

它发生在我身上,当我安装了一个开发构建使用即时运行,并从谷歌播放卸载。由于某种原因,即时运行的数据仍然在设备中,无法再次安装/卸载应用程序。

唯一的解决方法: -在android studio中禁用即时运行 -从android studio安装(它应该只在这里工作) -卸载app

. txt

现在应该可以从谷歌Play或adb安装了。

如果你从其他PC上构建apk并从不同的PC上更新它,就会发生这种情况。

如果使用不同的证书签署应用程序,就会发生这种情况。你可以用

adb install -r myapk.apk

覆盖您设备上现有的apk,但如果您使用与已安装的apk不同的证书签署新的apk,则仍然会得到错误。

在这种情况下,在尝试安装之前,您需要从设备上卸载apk。但是,这也会影响您的应用程序,因为您原来的签名可能绑定到某些Developor API,因此您可能需要使用新的凭据更新控制台。

如果您的清单文件有这一行-

android: sharedUserId = " android.uid.system "

正在导致这个错误!只要评论这一行,你就可以去了!!

C:\android-sdk\platform-tools\adb.exe:命令失败,退出码为1

Error output: adb: failed to install . (adb: failed to install . android应用程序平台\ \ \ \ apk \调试\ app \制造\输出app-debug.apk: 失败[install_failed_update_compatible: Package . sh com.example。app1签名与之前安装的不匹配 版本;忽略!) < / p >

解决方案:

你已经在手机上安装了应用程序app1(大部分是从播放控制台下载,或上传密钥已更改

.卸载应用

更多的细节:

这是可能的,你已经有这个应用程序上传到播放商店使用上传键,播放控制台应用自己的签名。这就是为什么从谷歌play下载的手机应用程序没有与你的上传密钥相同的签名。

通过卸载应用程序,没有游戏商店版本的应用程序,所以不匹配当你安装一个新版本到你的手机。

希望这能有所帮助。

我只是花了一个小时试图调试这个,然后意识到我连接到我的模拟器,而不是我的手机。所以即使我成功地删除了我手机上的应用程序,它仍然失败。愚蠢的错误,但也许这能帮助到其他人。

我没有看到任何人提到我的情况,所以让我加上它-当你在一种模式下构建应用程序(例如开发),然后尝试用不同的模式(例如生产)覆盖它时,它就会发生。

解决方案与其他情况相同-删除设备/模拟器上的应用程序并重新运行。

如果您试图从不同于最初的计算机上进行调试,则会得到可怕的install_failed_update_compatible错误。然而,有一种方法可以在不卸载应用程序和丢失数据的情况下进行。

查看如何传输调试文件。这样您就不会得到“该设备已经有一个具有相同应用程序但签名不同的应用程序”的消息。为了继续,你必须卸载现有的应用程序。”(并丢失你的数据)。看到在另一台机器上用相同的调试更新应用程序。android中的密钥存储库

三星银河手机有一个功能被称为安全的文件夹删除应用程序,解决了我的问题。

也adb卸载packagename不能从安全文件夹中删除应用程序。

这可能会引发当应用程序安装在您的设备作为不同的签名应用程序(apk)您试图安装。(简单来说,早期的应用程序是由“系统- a”构建的;现在通过“系统”构建一个应用程序;试着安装)

.您可以通过以下两种方式解决此问题

选项1:

   Uninstall the Application in your Device and install the New APK

选项2:

注意:此选项仅适用于当您同时访问Apk构建的旧系统和新系统时

如果你不想删除APk或者它是不允许的,那么你可以得到调试键,系统- a和同样的调试到系统- b

步骤采取调试键形式"系统"

点击终端进入

./gradlew signingReport

你将知道你的结果如下

Variant: debug Config:
debug Store: /home/user/debug.keystore
Alias: AndroidDebugKey
MD5: CS:7B:E3:51:C5:2E:36:AA:3F:66:BA:ED:40:DB:86:25
SHA1: 2A:BB:C5:4E:64:4E:FE:12:4C:4E:2B:4E:4E:42:4E:4E:4E:4E:63:83
Valid until: Wednesday, May 6, 2048

获取“debug.keystore”;文件从上面显示的位置,并转移到"系统"然后转到

    Android studio >> File >> Project Structure >> SigningConfigs
set the location of the "debug.keystore" to Store File and then ok

现在在你的“系统”中建立Apk;运行它将工作

你必须标志你的应用,然后运行它!

如果您正在为您的应用程序准备一个新的更新,继续工作是没有问题的。最后,在发布准备好的版本之前,当您签署应用程序时,问题将得到解决,用户安装应用程序将没有任何问题。

你只需要运行adb uninstall \{\{package_name}}。就是这样。现在您可以尝试构建。

工作概况/工作空间

enter image description here

别忘了,根据你手机上的用户帐户(比如谷歌Workspace -G Suite帐户配置文件,设备管理设置为高级)可能会为你的手机生成一个工作配置文件。

90%的人都有,但自己都不知道。你通常会在所有应用程序视图中看到工作配置文件。就像一个单独的工作区,有不同的应用程序。

你可以识别当你从工作档案浏览应用程序,如果他们有一个小锁的行李。 总之:< / p >

你必须从工作简介中删除应用程序!!

在我的情况下,我得到这个错误,但应用程序不显示在模拟器。在这种情况下,尝试使用adb command卸载apk

adb uninstall <package-name>