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

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


当前回答

去设置/应用程序/搜索你的应用程序和卸载… 打开命令提示符和“adb卸载”

这对我来说很有效

其他回答

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

这可能会引发当应用程序安装在您的设备作为不同的签名应用程序(apk)您试图安装。(简单地说,之前的应用程序是由“系统- a”构建的,现在由“系统- b”构建一个应用程序,并尝试安装) 您可以通过如下所示的一种或其他方式解决此问题。

选项1:

   Uninstall the Application in your Device and install the New APK

选项2:

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

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

使用Debug键form“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

获取“调试”。从上面显示的位置导入keystore文件,并将其传输到“System-B”,然后转到

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

现在在“系统- b”中构建Apk并运行它就可以了

Try

adb uninstall package-name

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

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

adb install -r myapk.apk

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

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

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

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