INSTALL_FAILED_UPDATE_INCOMPATIBLE when I try to install compiled .apk on device

Viewed 247641

I've compiled Trebuchet launcher from CyanogenMod 9, and trying to install it with 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]

I tried on Nexus S with CM9 and Galaxy Nexus with stock JB. Why I'm getting this error?

EDIT: In my case I've tried to reinstall system package with package manager. That's not supported, so I've got this error. Source of the error may differ in your case.

32 Answers

This can happen if you sign your application with a different certificate. You can always use

adb install -r myapk.apk

to overwrite an existing apk on your device, but you will still get the error if you signed the new apk with a different certificate that of the installed apk.

In that scenario you would need to uninstall the apk from your device before attempting an install. However, this can also impact your application since your original signing may be tied to certain Developor API's, so you may need to update the console with your new credentials.

C:\android-sdk\platform-tools\adb.exe: Command failed with exit code 1

Error output: adb: failed to install app\platforms\android\app\build\outputs\apk\debug\app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.example.app1 signatures do not match the previously installed version; ignoring!]

Solution:

You already have the app app1 installed on phone (mostly download from play console, or upload key is changed)
Uninstall the app.

More details:

It's possible that you already have this app uploaded to play store using upload key, play console applied its own signature to it. That's why the app in your phone downloaded from google play does not have the same signature of your upload key.

By uninstalling app, there is no play store version of app, so mis-matches when you install a new version to you phone.

Hope that helps.

I just spent an hour trying to debug this and then realised that i was connected to my emulator instead of my phone. So even though i had succesfully deleted the app on my phone it was still failing. Stupid mistake but maybe this will help someone else.

This might be Raised When the Application installed in you device as Different Signature then the Application(apk) you are Trying to install.(in easy words, earlier application is build by "System-A " and now build a Application By "System-B" and trying to install) You can solve this Issues in one or the other ways as showed Below.

Option 1:

   Uninstall the Application in your Device and install the New APK

Option 2:

Note: this option is applicable only if you have the Access to both old and new Systems via which Apk are build respecitively

if you don't want to Remove the APk or its not Allowed then you can get the Debug key, System-A and the same Debug to System-B

steps to take the Debug Key form "System-A"

Go to Terminal enter

./gradlew signingReport

you will get to know your results as Below

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

get the "debug.keystore" file from the location showed above and transfer it to "System-B" then goto

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

Now build the Apk in your "System-B" and Run it will work

Samsung Galaxy Phones has a feature Known as Secure Folder Removing App from That Solved The problem for me.

also adb uninstall packagename can Not remove App from Secure folder.

You have to sign your application and then run it!

If you are preparing a new update for your application, it is not a problem to continue working. In the end, before releasing the prepared version, when you sign the application, the problem will be solved and users will have no problem installing your application.

It happened to me when I installed a dev build using Instant Run, and uninstalled from Google Play. For some reason the data from Instant Run is still in the device and can't install/uninstall the app again.

Only way to fix it: - disable Instant Run in android studio - install from android studio (it should work only from here) - uninstall app

now it should be clean to install from Google Play or adb.

If your Manifest file has this line -

android:sharedUserId="android.uid.system"

is causing this error! just comment this line and you are good to go!!

I don't see anyone mentioning my case so let me add it - it happens when you build the app in one mode (e.g. Dev) and then try to override it with a different mode (e.g. Production).

The solution is the same as for the other cases - delete the app on the device/simulator and run again.

If you are attempting to debug from a different computer than you were originally you will get the dreaded INSTALL_FAILED_UPDATE_INCOMPATIBLE error. However, there is a way to proceed without uninstalling the app and losing your data.

To see how to transfer the debug.keystore that is required so you don't get the message "The device already has an application with the same application but a different signature. In order to proceed you will have to uninstall the existing application." (and lose your data). See Update the app in another machine with same debug.keystore in android

you just run adb uninstall {{package_name}}. That's it. Now you try the build.

WORK PROFILE / WORKSPACE

enter image description here

Don't forget that, depending on which user account you have on your phone (like a Google Workspace -G Suite Account profile with Device Management set to advanced) may generate a Workprofile to your phone.

90% of people have it but don't even know it. You normally see the Workprofile on the All app view. Is litterally like a separate workspace with separate Apps.

You can recognize when you are browsing app from Workprofile if they have a little lock of luggage. Anyway :

You must delete the App from the Workprofile As well!!!

In my case I'm getting this error but the app is not showing in the emulator. In that case try uninstalling apk useing adb command

adb uninstall <package-name>
Related