我已经从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。为什么我得到这个错误?

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


当前回答

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

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

其他回答

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

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

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

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

我最后做的是:

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

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

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

4)重新运行我的项目

5)一切正常

希望这对大家有所帮助

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

所以首先,你必须卸载Siged APK,然后你必须尝试。

谢谢你!

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