INSTALL_FAILED_UPDATE_INCOMPATIBLE lorsque j'essaie d'installer .apk compilé sur l'appareil

291

J'ai compilé le lanceur Trebuchet de CyanogenMod 9 et j'essaie de l'installer avec 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]

J'ai essayé sur Nexus S avec CM9 et Galaxy Nexus avec stock JB. Pourquoi je reçois cette erreur?

EDIT: Dans mon cas, j'ai essayé de réinstaller le package système avec le gestionnaire de packages. Ce n'est pas pris en charge, j'ai donc cette erreur. La source de l'erreur peut différer dans votre cas.

artem
la source
2
sur certains appareils récents disposant de plusieurs utilisateurs, vérifiez si l'application est installée pour les autres utilisateurs (c'est-à-dire la connexion invité). Un testeur de mon entreprise a été aux prises avec ce problème pendant une heure, quand il est venu me voir, il m'a fallu 5 à 10 minutes également pour découvrir que la même application était installée sous une connexion d'invité différente sur cet appareil, donc se montrer sur l'écran d'accueil ou même pas dans les paramètres
Shirish Herwade

Réponses:

500

cela signifie que l'application que vous souhaitez installer est déjà installée. retirez simplement l'ancien et réessayez.

Mustafa Güven
la source
27
A fonctionné pour moi, mais j'ai aussi dû redémarrer une fois.
droidgren
28
J'ai dû aller dans Paramètres -> Gérer les applications pour trouver l'application et choisir de la désinstaller à partir de là car elle n'apparaissait pas ailleurs.
David Conlisk
23
Il peut également vous être demandé de désinstaller tous les comptes d'utilisateurs (mon Nexus 10 comptait 3 utilisateurs).
Tyler Kiser
1
@TylerKiser Merci pour les informations à ce sujet.
Jacob Holloway
1
que faire si j'essaie simplement de mettre à jour une application existante? cela supprimerait tout ce que ma dernière application a enregistré localement
miracle-doh
184

Essayer

adb uninstall package-name

Ça marche pour moi. J'ai supprimé mon application à l'aide de Titanium Backup. Cependant, je pense que la sauvegarde Titanium n'a pas totalement supprimé mon application.

einverne
la source
1
J'ai remarqué la même chose en utilisant DevDrawer. Cela a fonctionné.
tir38
1
Merci! Cela m'a sauvé d'un énorme mal de tête inexplicable. Je ne sais pas comment je suis arrivé dans cet état ... Je débogue une application dans Xamarin Studio et Visual Studio et cela fonctionnait bien jusqu'à ce que ce ne soit pas ... eh bien.
Jamie
1
Quand tout le reste sur la réponse acceptée a échoué ... cela a fonctionné.
DennisWelu
Génial! Simple et facile. Pas besoin de redémarrer avec cette solution.
taciosd
Ça marche pour moi. Avant d'essayer la désinstallation manuelle et le redémarrage et rien ne change, seulement avec la commande adb cela fonctionne. Je vous remercie.
ricky.tribbia
101

La désinstallation de l'application serait suffisante pour éviter ce problème.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

mais parfois même la désinstallation du message est à nouveau déclenchée, cela se produit dans Android OS 5.0 +, voici donc la solution:

Allez dans Settings> Appset vous trouverez votre application avec le message:

"Non installé pour cet utilisateur" entrez la description de l'image ici

Nous devons désinstaller manuellement pour tous les utilisateurs !, puis nous pouvons installer notre application compilée sans problème.

entrez la description de l'image ici

Une autre option:

  • Supprimez l'ancienne application et réinstallez-la.

  • Utilisez la commande Android Debug Bridge:

    adb uninstall [NOM DU PAQUET]

Jorgesys
la source
2
Je vous remercie! Voilà ce dont j'avais besoin. Pourquoi et quand ont-ils commencé à le faire de cette façon?
Nick
apparemment depuis OS 5.0 +
Jorgesys
1
Initialement, je n'ai pas trouvé mon application désinstallée sous Paramètres -> Applications. Il s'est avéré que dans Lollipop 5.1.1, l'application désinstallée était répertoriée par le nom du package, et non par le nom de l'application. Donc, si vous avez effectué une désinstallation d'adb et que l'installation d'adb échoue toujours, recherchez votre application désinstallée sous le nom de votre package. Ainsi, com.acme.wileycoyote sera répertorié par ordre alphabétique sous "c", pas "w".
Yojimbo
Merci, ça marche! Mon téléphone n'a pas l'option "Désinstaller pour tous les utilisateurs", je le désinstalle en me connectant à tous les utilisateurs ...
DawnYu
1
Quel "tous les utilisateurs" quand l'utilisateur est exactement un - MOI !!! Quoi qu'il en soit, cela fonctionne - voté.
WindRider
21

Deux façons de travailler

1: Désinstaller manuellement l'application de l'appareil mobile

2: Ouvrez l'invite de commande, tracez le chemin d'accès adbet exécutez la commande suivante

adb uninstall your_package_name
dharam
la source
2
La seule façon qui fonctionne pour les appareils sans écran.
DenisKolodin
1
par exemple: "adb uninstall net.gavin.hello" où le nom du package est sur AndroidManifest.xml comme "package =" net.gavin.hello ""
Gavin Simpson
9

Je viens de renommer le package et cela a fonctionné pour moi.

Ou si vous utilisez Ionic, vous pouvez supprimer l'application et réessayer, cela se produit lorsque ionic détecte que l'application que vous déployez ne provient pas de la même version. Cela arrive souvent lorsque vous changez de PC.

artem
la source
Rien d'autre n'a fonctionné pour moi. Merci pour la bonne idée!
Ken Pespisa,
2
Trop de travail, je voudrais sauvegarder et supprimer apk et le réinstaller.
pevik
n'a pas fonctionné sur Android 6.0.1. J'ai dû supprimer l'application sur l'appareil et réinstaller le même package.
kakyo
13
"Je viens de renommer le package", cela ne fonctionne pas, en fait vous créez une autre application!
Jorgesys
8
  1. allez dans: votre dossier adb \ sdk \ platform-tools \
  2. type cmd
  3. type: adb remount sur la fenêtre de commande
  4. adb shell
  5. su
  6. rm /system/app/YourApp.apk
  7. Redémarrez votre appareil
user3278378
la source
qu'est-ce que remonter? puis-je utiliser cette version de conservation et de débogage et les monter et les remonter facilement?
piotrek1543
2
Cela n'a pas beaucoup de sens car les apks utilisateur ne sont pas stockés dans /system/appmais/data/app
m0skit0
@ piotrek1543 remonte la adb remountpartition système en lecture-écriture au lieu de la lecture seule par défaut.
m0skit0
8

La question était de savoir pourquoi il avait cette erreur. La désinstallation résoudra ce problème mais dans mon cas, alors que j'installais la version compilée de l'apk, le problème s'est posé. J'essayais de créer une mise à jour pour mon application. Donc, ce que j'ai fait, j'ai construit un apk signé, puis j'ai essayé d'installer l'apk et l'apk parfaitement installé. Donc, plutôt que de supprimer l'ancien apk, j'ai dû signer la nouvelle mise à jour puis l'installer.

Reaz Murshed
la source
1
Pareil ici. Essayez de tester le processus de mise à jour. La désinstallation n'est donc pas une option.
Martin
6

Cela peut être dû au fait que vous avez plus d'un utilisateur sur votre appareil et que vous venez de supprimer l'application sur l'un (en laissant l'apk toujours présent pour les autres ).

J'ai supprimé tous les comptes et cela a fonctionné par la suite.

neteinstein
la source
Voulez-vous dire des comptes Google?
CACuzcatlan
Oui, exactement ce que je veux dire.
neteinstein
5

Cela peut se produire si vous signez votre demande avec un certificat différent. Vous pouvez toujours utiliser

adb install -r myapk.apk

pour remplacer une apk existante sur votre appareil, mais vous obtiendrez toujours l'erreur si vous avez signé la nouvelle apk avec un certificat différent de celui de l'apk installé.

Dans ce scénario, vous devez désinstaller l'apk de votre appareil avant de tenter une installation. Cependant, cela peut également avoir un impact sur votre application, car votre signature d'origine peut être liée à certaines API de développeur, vous devrez donc peut-être mettre à jour la console avec vos nouvelles informations d'identification.

Pixel
la source
4

J'ai installé le gestionnaire de fichiers Astro et recherché une version précédente du fichier apk, en ai trouvé une sur la carte SD et j'ai supprimé le fichier apk à l'aide du gestionnaire de fichiers Astro.

fll
la source
4

Si votre appareil prend en charge plusieurs utilisateurs, vous devrez peut-être également supprimer l'application pour chaque compte.

J'utilise habituellement adb et ça fait l'affaire adb uninstall <your-package-name>

Mark Pazon
la source
4

si l'APK est intégré au projet avec le fichier Android.mk. C'est peut-être parce que le certificat de signature a été modifié.

dans mon problème, j'ai ajouté LOCAL_CERTIFICATE: = plateforme. car l'apk d'origine est signé sans cette balise.

fordreamxin
la source
C'est vraiment un commentaire, pas une réponse. Avec un peu plus de représentants, vous pourrez poster des commentaires .
Enamul Hassan
2

Dans mon cas, il n'y avait aucune version de l'application que je pouvais trouver via le gestionnaire de périphériques ou Astro.

J'ai fini par faire:

1) Téléchargez la dernière version de l'App depuis l'App Store

2) L'application n'était toujours pas visible dans le gestionnaire d'appareils jusqu'à ce que je redémarre mon appareil.

3) Supprimer l'application du gestionnaire d'appareils

4) Relancez mon projet

5) Tout fonctionne

J'espère que cela aide quelqu'un

YKa
la source
2

C: \ android-sdk \ platform-tools \ adb.exe: la commande a échoué avec le code de sortie 1

Sortie d'erreur: adb: impossible d'installer app \ plates-formes \ android \ app \ build \ sorties \ apk \ debug \ app-debug.apk: échec [INSTALL_FAILED_UPDATE_INCOMPATIBLE: package com.example. app1les signatures ne correspondent pas à la version précédemment installée; ignorer!]

Solution:

Vous avez déjà app1installé l'application sur le téléphone (principalement le téléchargement à partir de la console de jeu ou la clé de téléchargement a été modifiée).
Désinstallez l'application.

Plus de détails:

Il est possible que cette application soit déjà téléchargée sur Play Store à l'aide de la clé de téléchargement, la console de jeu lui a appliqué sa propre signature. C'est pourquoi l'application de votre téléphone téléchargée sur Google Play n'a pas la même signature que votre clé de téléchargement.

En désinstallant l'application, il n'y a pas de version Play Store de l'application, donc les correspondances incorrectes lorsque vous installez une nouvelle version sur votre téléphone.

J'espère que cela pourra aider.

Manohar Reddy Poreddy
la source
1

Allez dans Paramètres / Applications / Rechercher votre application et désinstaller ...

Ça a marché pour moi

Luis Colomé
la source
1
  1. Accédez à Paramètres / Applications / Rechercher votre application et désinstallez ...
  2. ouvrir l'invite de commande et "désinstaller adb"

Ça a marché pour moi

jettimadhuChowdary
la source
1

Pour les utilisateurs de MIUI, en dehors de l'option de débogage USB habituelle, assurez-vous également d'activer ces paramètres:

Installation via USB
Débogage USB (paramètres de sécurité)

puis acceptez l'invite lorsque vous essayez de réinstaller l'application.

stevyhacker
la source
1

J'ai eu le même problème et je l'ai fait pour le résoudre.

  1. Paramètres> Stockage> Effacer les données en cache
  2. Paramètres> Applications> Désinstaller les applications qui y sont affichées. J'avais désinstallé mes applications mais ça y était.
  3. Redémarrez et puis tout s'est bien passé.
Pankaj
la source
3
Le 2e point a aidé. Dans mon cas, l'application n'a pas été installée pour l'utilisateur actuel, mais a été installée pour d'autres utilisateurs. J'ai donc cliqué sur l'application dans la liste des applications et dans la page de détails, j'ai cliqué sur le bouton Plus (trois points verticaux). Là, il y avait une option «Désinstaller pour tous les utilisateurs». Ça l'a fait pour moi. Merci!
Harisewak
1

Je viens de passer une heure à essayer de déboguer cela, puis j'ai réalisé que j'étais connecté à mon émulateur au lieu de mon téléphone. Donc, même si j'avais réussi à supprimer l'application sur mon téléphone, elle échouait toujours. Erreur stupide mais peut-être que cela aidera quelqu'un d'autre.

Adam Katz
la source
0

Dans mon cas, j'ai installé Application à partir de Playstore et après quand j'essaie d'exécuter à partir d' Eclipse ou d' Android Studio , il essaiera de réinstaller sur cet APK qui ne le permettra pas.

Donc, tout d'abord, vous devez désinstaller ce fichier APK Siged et après cela, vous devez essayer.

Je vous remercie.

Pratik Butani
la source
0

RankoR @ vous devez avoir installé l'application depuis un autre ordinateur. dans mon cas, c'est là que le problème est survenu .. il vous suffit de désinstaller l'application et de la réinstaller ou de l'exécuter à partir de l'ordinateur sur lequel vous travaillez .. cela pourrait être une réponse tardive mais cela aidera quelqu'un .. merci

Mohammed Nathar
la source
0

Cela m'est arrivé lorsque j'ai installé une version de développement à l'aide d'Instant Run et désinstallé de Google Play. Pour une raison quelconque, les données d'Instant Run sont toujours dans l'appareil et ne peuvent pas réinstaller / désinstaller l'application.

Seul moyen de le corriger: - désactiver Instant Run dans Android Studio - installer à partir d'Android Studio (cela ne devrait fonctionner qu'à partir d'ici) - désinstaller l'application

maintenant, il devrait être propre à installer à partir de Google Play ou adb.

Ignacio Tomas Crespo
la source
0

cela s'est produit si vous construisez votre apk à partir d'un autre PC et le mettez à jour à partir d'un autre PC.

Prashant Jajal
la source
Quelle est la solution pour ce cas?
dpaksoni
0

Si votre fichier manifeste a cette ligne -

android: sharedUserId = "android.uid.system"

est à l'origine de cette erreur! commentez cette ligne et vous êtes prêt à partir !!

DesigningLives
la source
0

Je ne vois personne mentionner mon cas, alors laissez-moi l'ajouter - cela se produit lorsque vous créez l'application dans un mode (par exemple Dev), puis essayez de la remplacer par un mode différent (par exemple Production).

La solution est la même que pour les autres cas - supprimez l'application sur l'appareil / simulateur et exécutez à nouveau.

Andrija
la source
0

Si vous essayez de déboguer à partir d'un ordinateur différent de celui que vous étiez à l'origine, vous obtiendrez la redoutable erreur INSTALL_FAILED_UPDATE_INCOMPATIBLE. Cependant, il existe un moyen de procéder sans désinstaller l'application et sans perdre vos données.

Pour voir comment transférer le debug.keystore qui est requis afin que vous n'obteniez pas le message "Le périphérique a déjà une application avec la même application mais une signature différente. Pour continuer, vous devrez désinstaller l'application existante." (et perdez vos données). Voir Mettre à jour l'application sur une autre machine avec le même debug.keystore dans Android

Paul Effrem
la source
0

Les téléphones Samsung Galaxy ont une fonctionnalité connue sous le nom de dossier sécurisé Removal App de That Solved Le problème pour moi.

également adb uninstall packagename ne peut pas supprimer l'application du dossier sécurisé.

Saeed Arianmanesh
la source