web-dev-qa-db-fra.com

Émulateur Android: erreur d'installation: INSTALL_FAILED_VERSION_DOWNGRADE

J'essaie actuellement de compiler et de tester une petite application Android.

J'utilise Eclipse et le SDK 4.2 (Api Level 17) est installé. .__ J'ai réglé 

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

bien que j’ai aussi essayé différentes valeurs (c’est-à-dire 17/17).

Je n'utilise aucune fonction GoogleAPI, pas plus que des fonctions qui ne sont pas disponibles dans l'API niveau 8. Ou du moins je ne reçois aucune erreur de compilation ni aucun avertissement à cet égard.

Lorsque je compile le projet et que je l'exécute sur un appareil réel fonctionnant sous Android 2.2.1, l'application fonctionne correctement. Cependant, lorsque j'essaie d'exécuter l'application sur un émulateur (Android Virtual Device) avec Android 4.2, Api Level 17, l'erreur suivante apparaît:

[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 est cependant vide. Je n'ai vraiment aucune idée, ce que cette erreur signifie même ...

124
ndbd

Cela signifie que vous essayez d'installer une application avec le même nom de package qu'une application déjà installée sur l'émulateur, mais que celle que vous essayez d'installer a un versionCode inférieur (valeur entière pour votre numéro de version).

Vous avez peut-être installé à partir d'une copie distincte du code dont le numéro de version est supérieur à la copie que vous utilisez actuellement. Dans les deux cas, soit:

  • désinstaller la copie actuellement installée

  • ou ouvrez Paramètres> Gestionnaire d'applications de votre téléphone pour déterminer le numéro de version de l'application installée et incrémentez votre <manifest Android:versionCode pour qu'il soit plus élevé dans le manifeste Android.

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

326
Alexander Lucas

Vous pouvez également envisager d’ajouter -d flag à adb install. Il devrait ignorer cette erreur.

48
gruszczy

Commencez par désinstaller votre application de l'émulateur:

adb -e uninstall your.application.package.name

Ensuite, essayez d'installer à nouveau l'application.

28
user1719362

Cela se passait dans mon projet car j'utilisais une ressource XML pour définir le code de version.

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

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

Ce n'était pas un problème dans les versions précédentes de adb, cependant, à partir de platform-tools r16, cela n'est plus résolu en entier. Vous pouvez forcer la réinstallation à l'aide de adb -r ou éviter entièrement le problème en utilisant un littéral dans le manifeste:

Android:versionCode="64"
8
James Wald

Cela peut arriver lorsque vous essayez d'installer un APK de débogage/non signé au-dessus d'un APK de version signée du 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]

La solution consiste à désinstaller puis à le réinstaller ou à le réexécuter à partir de l'EDI.

4
Deanna

En guimauve, j'ai eu cette erreur, 

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

À la recherche d'une solution, j'ai cherché et je suis venu ici. J'ai supprimé l'application mais j'ai toujours ce problème dans Nexus 6. Plus tard, j'ai constaté 

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

vous pouvez essayer ceci: adb install -r -d -f your_Apk_path

2
baiiu

Selon sdk code src de ...\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;

si le nouveau package contient un code de version plus ancien que le package actuellement installé.

2
zhijuexu

INSTALL_FAILED_VERSION_DOWNGRADE

Toutes les applications Android ont un nom de package. Le nom du package identifie de manière unique l'application sur le périphérique. Si le même packageName comme application déjà installée sur le périphérique, alors ceci error Showing.

  1. Vous pouvez d'abord désinstaller l'application de votre périphérique et Puis installer la nouvelle.
  2. Vous pouvez simplement augmenter le nombre d’une unité chaque fois qu’une nouvelle version est publiée .
2
IntelliJ Amiya

Cette erreur apparaît dans mon projet Android avec plusieurs types de fichiers gfx. A la fin, aucun changement dans le fichier manifeste n'a été accepté.

En raison de mon manque de connaissances sur les appareils Android, j'oublie que mon appareil de test a un deuxième utilisateur. Cet utilisateur a également une version installée de mon application, je dois donc également supprimer l'application pour ce compte d'utilisateur et cela fonctionne.

1
norca

J'avais le même problème. J'obtenais une erreur quand j'ai essayé de fonctionner sur mon appareil Android pas d'émulateur .

Sudo ionic run Android 

Je suis capable de résoudre ce problème en exécutant 

adb uninstall com.mypackage.name
1
Anjum....

cela m'est arrivé lorsque j'ai importé une application Android Studio dans Eclipse.

J'ai compris que le fichier andoridmanifest.xml devait être légèrement modifié lors de l'importation depuis un projet de studio Android. J'ai créé un nouveau projet de test et copié les en-têtes pour le faire correspondre. le tour est joué, problème résolu.

1
BrayNShock

Il suffit de désinstaller le précédent Apk et d'installer l'APK mis à jour

0
Peter

la chose qui a continué à me tuer est que je ne savais pas que cette application était installée pour mon compte invité (même si je l'avais désinstallée pour les autres comptes ..)

donc j'ai cherché l'application dans le gestionnaire d'applications, et simplement cliqué sur désinstaller pour tous les utilisateurs

 enter image description here

0
abbood