Android Emulator: Installation error: INSTALL_FAILED_VERSION_DOWNGRADE

JavaAndroidSdk

Java Problem Overview


I am currently trying to compile and test a small Android Application.

I am using Eclipse, and have SDK 4.2 (Api Level 17) installed. I've set

<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8" />

although I've tried also different values (i.e. 17/17).

I do not use any GoogleAPI functions, nor do I use functions that are not available in API Level 8. Or at least I do not get any compile errors or warnings in that regard.

When I compile the project and run it on a real device running Android 2.2.1 the Application runs fine. However when I try to run the application on an emulator (Android Virtual Device) with Android 4.2, Api Level 17 I get the following error:

[2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
[2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details.
[2012-12-10 21:10:29 - SoftKeyboard] Launch canceled!

Logcat however is empty. I have really no clue, what this error even means...

Java Solutions


Solution 1 - Java

It means you're trying to install an app with the same packageName as an app that's already installed on the emulator, but the one you're trying to install has a lower versionCode (integer value for your version number).

You might have installed from a separate copy of the code where the version number was higher than the copy you're working with right now. In either case, either:

  • uninstall the currently installed copy

  • or open up your phone's Settings > Application Manager to determine the version number for the installed app, and increment your <manifest android:versionCode to be higher in the AndroidManifest.

  • or https://stackoverflow.com/a/13772620/632951

Solution 2 - Java

You can also consider adding -d flag to adb install. It should ignore this error.

adb install -r -d abc.apk

Solution 3 - Java

First uninstall your application from the emulator:

adb -e uninstall your.application.package.name

Then try to install the application again.

Solution 4 - Java

This was happening in my project because I was using an XML resource to set the version code.

AndroidManifest.xml:
android:versionCode="@integer/app_version_code"

app.xml:
<integer name="app_version_code">64</integer>

This wasn't a problem in prior versions of adb, however, as of platform-tools r16 this is no longer being resolved to the proper integer. You can either force the re-install using adb -r or avoid the issue entirely by using a literal in the manifest:

android:versionCode="64"

Solution 5 - Java

This can happen when trying to install a debug/unsigned APK on top of a signed release APK from the Play store.

H:\>adb install -r "Signed.apk"
2909 KB/s (220439 bytes in 0.074s)
        pkg: /data/local/tmp/Signed.apk
Success

H:\>adb install -r "AppName.apk"
2753 KB/s (219954 bytes in 0.078s)
        pkg: /data/local/tmp/AppName.apk
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

The solution to this is to uninstall and then reinstall or re run it from the IDE.

Solution 6 - Java

> INSTALL_FAILED_VERSION_DOWNGRADE

All Android apps have a package name. The package name uniquely identifies the app on the device. If same packageName as app that's already installed on the device then this error Showing .

  1. You can uninstall the application from your device first and then install the fresh one .
  2. You could simply increase the number by one each time a new version is released.

Solution 7 - Java

In Marshmallow, I got this error,

Installation error: INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE
Please check logcat output for more details.
Launch canceled!

Looking for solution I searched and came here. I deleted the app but still have this problem in Nexus 6. Later found that in,

Settings > Apps > [My app name] have to removed for all user. 

Solution 8 - Java

According to sdk src code from ...\android-22\android\content\pm\PackageManager.java

/**
 * Installation return code: this is passed to the {@link IPackageInstallObserver} by
 * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if
 * the new package has an older version code than the currently installed package.
 * @hide
 */
public static final int INSTALL_FAILED_VERSION_DOWNGRADE = -25;

if the new package has an older version code than the currently installed package.

Solution 9 - Java

I was having same problem. I was getting error when i tried to run in my android device not emulator.

sudo ionic run android 

I am able to fix this by running

adb uninstall com.mypackage.name

Solution 10 - Java

you can try this: adb install -r -d -f your_Apk_path

Solution 11 - Java

I was having the same problem. I installed with

    adb shell pm install --user <userId> test.apk

For some reason, there was no icon on the screen. It was a debug build and all other consecutive installs were not working. Simply uninstalling the package helped.

     adb uninstall com.package.name

Solution 12 - Java

this happened to me when I imported an Android Studio App into eclipse.

I figured out the andoridmanifest.xml file needs to be slightly modified when importing from android studio project. I created a new test project, and copied over the headings to make it match. voila, issue solved.

Solution 13 - Java

This error appears in my android project with multiple kind of gfx files. At the end no change in the manifest file was accepted.

Because my lack of knowledge about the android devices I forget that my test device has a second User. This User also has an installed version of my app so I also have to delete the app for this user account and it works.

Solution 14 - Java

Do the following:

  1. Simply uninstall the previous version of your application
  2. Re-run the command
  3. Enjoy :)

Solution 15 - Java

the thing that kept on killing me was that i didn't know that this app was installed for my guest account (although I had uninstalled it for the other accounts..)

so i searched for the app in the app manager, and simply clicked on uninstall for all users

enter image description here

Solution 16 - Java

Just uninstall the previous Apk and install the updated APK

Solution 17 - Java

It may be a problem with the Google Play Services dependencies rather than an actual app version issue.

Sometimes, it is NOT the case that:

a) there is an existing version of the app installed, newer or not b) there is an existing version of the app installed on another user account on the device

So the error message is just bogus.

In my case, I had:

implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'

But when I tried

implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.android.gms:play-services-gcm:17.0.0'

I got androidX related errors, as I had not yet upgraded to androidX and was not ready to do so. I found that using the latest 16.x.y versions work and I don't get the error message any more. Furthermore, I could wait till later when I am ready, to upgrade to androidX.

implementation 'com.google.android.gms:play-services-maps:16.+'
implementation 'com.google.android.gms:play-services-location:16.+'
implementation 'com.google.android.gms:play-services-gcm:16.+'

Solution 18 - Java

Uninstall your current apk from the device then run

sudo adb uninstall com.package.name

It is the command to uninstall the apk via pc.

Then retry the build

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionndbdView Question on Stackoverflow
Solution 1 - JavaAlexander LucasView Answer on Stackoverflow
Solution 2 - JavagruszczyView Answer on Stackoverflow
Solution 3 - Javauser1719362View Answer on Stackoverflow
Solution 4 - JavaJames WaldView Answer on Stackoverflow
Solution 5 - JavaDeannaView Answer on Stackoverflow
Solution 6 - JavaIntelliJ AmiyaView Answer on Stackoverflow
Solution 7 - JavakarimView Answer on Stackoverflow
Solution 8 - JavazhijuexuView Answer on Stackoverflow
Solution 9 - JavaAnjum....View Answer on Stackoverflow
Solution 10 - JavabaiiuView Answer on Stackoverflow
Solution 11 - JavaVibhanshu HarrisonView Answer on Stackoverflow
Solution 12 - JavaBrayNShockView Answer on Stackoverflow
Solution 13 - JavanorcaView Answer on Stackoverflow
Solution 14 - JavaArslanView Answer on Stackoverflow
Solution 15 - JavaabboodView Answer on Stackoverflow
Solution 16 - JavaPeterView Answer on Stackoverflow
Solution 17 - Javaauspicious99View Answer on Stackoverflow
Solution 18 - JavaNarayan ShresthaView Answer on Stackoverflow