311

我已经从 CyanogenMod 9 编译了 Trebuchet 启动器,并尝试使用 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]

我在 Nexus S 和 CM9 上试过,在 Galaxy Nexus 上用股票 JB 试过。为什么我会收到此错误?

编辑:就我而言,我尝试使用包管理器重新安装系统包。这不受支持,所以我遇到了这个错误。根据您的情况,错误的来源可能会有所不同。

4

31 回答 31

526

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

于 2012-10-31T15:00:11.690 回答
195

尝试

adb uninstall package-name

这个对我有用。我已经使用 Titanium Backup 删除了我的应用程序。但是,我认为 Titanium 备份并没有完全删除我的应用程序。

于 2014-04-12T11:07:58.837 回答
113

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

INSTALL_FAILED_UPDATE_INCOMPATIBLE

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

转到Settings> Apps,您将找到带有消息的应用程序:

“未为此用户安装” 在此处输入图像描述

我们必须为所有用户手动卸载!然后我们可以毫无问题地安装我们编译的应用程序。

在此处输入图像描述

另一种选择:

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

  • 使用 Android Debug Bridge 命令:

    adb 卸载 [包名]

于 2015-09-21T18:18:14.930 回答
23

两种可行的方法

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

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

adb uninstall your_package_name
于 2015-04-08T07:31:06.730 回答
9
  1. 转到:您的 adb 文件夹 \sdk\platform-tools\
  2. 键入命令
  3. 类型:adb remount 在命令窗口
  4. 亚行外壳
  5. rm /system/app/YourApp.apk
  6. 重新启动您的设备
于 2014-02-06T07:03:13.870 回答
9

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

于 2016-02-21T12:49:43.990 回答
7

我刚刚重命名了这个包,它对我有用。

或者,如果您使用的是 Ionic,您可以删除应用程序并重试,当 ionic 检测到您正在部署的应用程序不是来自同一构建时,就会发生这种情况。当您从 pc 更改时,通常会发生这种情况。

于 2012-08-11T00:58:16.207 回答
7

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

我已经删除了所有帐户,然后它就起作用了。

于 2015-05-12T17:14:48.793 回答
7

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

adb install -r myapk.apk

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

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

于 2018-06-21T10:31:04.390 回答
4

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

于 2012-10-10T12:00:43.003 回答
4

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

我通常使用 adb 就可以了 adb uninstall <your-package-name>

于 2015-07-17T01:33:35.387 回答
4

如果 APK 是使用 Android.mk 文件构建在项目中的。也许是因为签名证书已更改。

在我的问题中,我添加了 LOCAL_CERTIFICATE := 平台。因为原始 apk 是在没有此标签的情况下签名的。

于 2016-07-31T08:59:12.867 回答
2

就我而言,我无法通过设备管理器或 Astro 找到该应用程序的版本。

我最终做的是:

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

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

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

4)再次运行我的项目

5)一切正常

希望这可以帮助某人

于 2014-10-23T01:45:05.600 回答
2

当您的设备中安装的应用程序作为不同的签名然后您尝试安装的应用程序(apk)时,可能会引发这种情况。(简单地说,早期的应用程序是由“System-A”构建的,现在由“System-A”构建一个应用程序B”并尝试安装)您可以通过如下所示的一种或其他方式解决此问题。

选项1:

   Uninstall the Application in your Device and install the New APK

选项 2:

注意:仅当您有权访问分别构建 Apk 的旧系统和新系统时,此选项才适用

如果您不想删除 APk 或不允许它,那么您可以获得调试密钥、System-A 和相同的 Debug 到 System-B

获取调试密钥表单“System-A”的步骤

去终端输入

./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”文件并将其传输到“System-B”然后转到

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

现在在您的“System-B”中构建 Apk 并运行它会工作

于 2020-06-30T10:31:42.837 回答
2

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

错误输出:adb: failed to install app\platforms\android\app\build\outputs\apk\debug\app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.example. app1签名与之前安装的版本不匹配;无视!]

解决方案:

您已经app1在手机上安装了该应用程序(主要是从播放控制台下载,或更改了上传密钥)
卸载该应用程序。

更多细节:

您可能已经使用上传密钥将此应用上传到 Play 商店,Play 控制台对其应用了自己的签名。这就是为什么从 google play 下载的手机中的应用程序没有与您的上传密钥相同的签名。

通过卸载应用程序,没有应用商店版本的应用程序,因此当您将新版本安装到手机时会出现错误匹配。

希望有帮助。

于 2019-03-09T03:44:40.610 回答
1

转到设置/应用程序/搜索您的应用程序并卸载...

它对我有用

于 2015-04-07T21:43:45.783 回答
1

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

于 2019-07-08T19:08:49.210 回答
1
  1. 转到设置/应用程序/搜索您的应用程序并卸载...
  2. 打开命令提示符和“adb 卸载”

它对我有用

于 2015-08-08T16:57:34.927 回答
1

您必须签署您的应用程序,然后运行它!

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

于 2020-08-11T20:46:24.727 回答
1

对于 MIUI 用户,除了通常的 USB 调试选项外,请务必同时启用这些设置:

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

然后在您再次尝试安装应用程序时接受提示。

于 2017-01-11T20:37:51.810 回答
1

我遇到了同样的问题并做了以下修复。

  1. 设置 > 存储 > 清除缓存数据
  2. 设置 > 应用程序 > 卸载那里显示的应用程序。我已经卸载了我的应用程序,但它在那里显示。
  3. 重新启动,然后一切顺利。
于 2017-12-30T14:02:47.650 回答
1

三星Galaxy 手机有一个名为“安全文件夹删除应用程序”的功能,它为我解决了这个问题。

adb uninstall packagename 也不能从 Secure 文件夹中删除 App。

于 2019-12-28T14:43:22.057 回答
0

如果您从其他 PC 构建您的 apk 并从其他 PC 更新它,则会发生这种情况。

于 2018-03-26T10:29:22.487 回答
0

当我使用 Instant Run 安装开发版本并从 Google Play 卸载时,它发生在我身上。出于某种原因,来自 Instant Run 的数据仍在设备中,无法再次安装/卸载应用程序。

修复它的唯一方法: - 在 android studio 中禁用 Instant Run - 从 android studio 安装(它应该只能从这里工作) - 卸载应用程序

现在从 Google Play 或 adb 安装应该是干净的。

于 2018-01-14T16:29:30.583 回答
0

RankoR@ 您必须从另一台计算机安装应用程序。就我而言,这就是问题出现的地方..您只需卸载应用程序并重新安装它或从您正在工作的计算机上运行它..这可能是一个迟到的回复,但它会帮助一些人..谢谢

于 2016-02-17T07:04:39.253 回答
0

如果您尝试从与最初不同的计算机进行调试,您将收到可怕的 INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误。但是,有一种方法可以在不卸载应用程序并丢失数据的情况下继续进行。

要查看如何传输所需的 debug.keystore,以免收到消息“设备已有具有相同应用程序但签名不同的应用程序。为了继续,您必须卸载现有应用程序。” (并丢失您的数据)。请参阅使用 android 中相同的 debug.keystore 在另一台机器上更新应用程序

于 2019-10-29T15:48:09.683 回答
0

工作简介/工作空间

在此处输入图像描述

不要忘记,根据您手机上的用户帐户(例如设备管理设置为高级的 Google Workspace -G Suite 帐户配置文件)可能会为您的手机生成工作配置文件。

90% 的人拥有它,但甚至不知道它。您通常会在所有应用视图中看到 Workprofile。几乎就像一个带有单独应用程序的单独工作区。

如果他们有少量行李,您可以识别您何时从 Workprofile 浏览应用程序。反正 :

您还必须从 Workprofile 中删除该应用程序!!!

于 2021-08-09T13:09:19.020 回答
0

就我而言,我已经从 Playstore 安装了应用程序,然后当我尝试从EclipseAndroid Studio运行时,它会尝试在不允许的 APK 上再次安装。

因此,首先您必须卸载该Siged APK,然后您必须尝试。

谢谢你。

于 2015-11-23T06:43:27.050 回答
0

你只要跑adb uninstall {{package_name}}。而已。现在您尝试构建。

于 2020-10-23T05:21:53.583 回答
0

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

android:sharedUserId="android.uid.system"

导致此错误!只需评论此行,您就可以开始了!

于 2018-06-25T15:43:36.253 回答
0

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

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

于 2019-10-24T10:45:57.480 回答