Échec [INSTALL_FAILED_UPDATE_INCOMPATIBLE] même si l'application ne semble pas être installée

206

Lorsque j'essaie de déployer mon application sur l'appareil Android, j'obtiens l'erreur suivante:

Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Je suis conscient de cette question mais l'application n'est pas installée. Il a été supprimé / partiellement supprimé par Visual Studio lors de la tentative de déploiement.

Dans le passé, j'ai résolu ce problème en téléchargeant l'application sur le Google Play Store, puis en la supprimant des paramètres-> Gestionnaire d'applications. Cependant, maintenant j'obtiens l'erreur "mise à jour incompatible" quand il essaie de l'installer.

J'ai essayé de le supprimer en utilisant Titanium Backup et quelques autres choses mais pas de chance.

EDIT 1

J'ai réalisé (de @Motz) que je n'ai pas mentionné que la solution évidente ne fonctionne pas. À savoir, l'application n'apparaît pas dans Paramètres-> Applications

YKa
la source
Quelle version installée sur votre appareil?
Haresh Chhelana
Cela peut arriver si votre application nécessite une version minimale du SDK supérieure à la version du système d'exploitation de votre appareil.
Haresh Chhelana
Recherchez logcatdes indices supplémentaires lorsque vous essayez d'installer l'application. Il devrait y avoir une entrée de journal avec plus de détails expliquant pourquoi elle échoue.
Jeff Mixon
De quelle version d'Android votre téléphone est-il?
Darpan
Ma version Android est 4.4.2. Le SDK minimum est correct car j'ai installé l'application avant et parce que je l'ai vérifié.
YKa

Réponses:

565

Je l'ai vu plusieurs fois. Habituellement, cela est dû à une version de sortie signée sur mon téléphone, puis à essayer de déployer la version de débogage sur le dessus. Il reste bloqué dans un état non valide où il n'est pas complètement désinstallé.

La solution qui fonctionne pour moi consiste à ouvrir une invite de commande et à taper:

adb uninstall my.package.id

Cela termine généralement la désinstallation afin que je puisse continuer le développement.

Bonne chance!

Kiliman
la source
1
Cela a fonctionné pour moi lorsque le redémarrage et la désinstallation de l'application n'ont pas fonctionné.
Aggressor
26
Stackoverflow devrait avoir une liste de réponses préférées. Ce morceau de sorcellerie fonctionne comme un charme.
Josh
2
Si vous utilisez un appareil Android pour les tests et si vous installez votre application sur une autre machine, puis que vous essayez d'installer sur votre machine, cette erreur apparaîtra. Cette solution fonctionne.
SajithK
Vous avez sauvé ma journée ... Il y avait une version corrompue de l'application installée dans Application Manager (elle ne s'affiche pas dans la section des applications). Je voulais le désinstaller avant le déploiement
Anees Deen
1
Que Dieu bénisse StackOverflow et vous, monsieur, pour avoir résolu les problèmes que Xamarin devrait résoudre: \
Eric Wu
79

Pas besoin de faire un adb uninstall, allez simplement sur votre settings->apps, puis désinstallez à partir de là. Vous verrez votre candidature grisée.

Les problèmes ont généralement à voir avec une version release vs debug telle que @Kiliman indiquée ici.

JamesMontemagno
la source
1
Désolé @Motz, c'était en fait l'une des premières choses que j'ai faites, mais l'application n'est pas sous les applications ... J'ai édité ma question maintenant
YKa
MISE À JOUR: Lorsque vous utilisez Android 5.0 (sucette), cela fonctionne maintenant aussi. L'application avec une taille de 0,00 Ko s'affiche et je peux ensuite la désinstaller facilement.
YKa
2
Paramètres> Applications> désinstaller ne fonctionne pas toujours. Parfois, il y a des problèmes avec plusieurs profils utilisateur et ne pas être désinstallé pour tous les utilisateurs. Ou l'application a été désinstallée à mi-chemin dans un mauvais état. adb uninstallprendrait de ces scénarios.
wisbucky
Ce n'est pas toujours vrai. J'ai souvent fait cela dans le passé et cela a parfaitement fonctionné. Mais aujourd'hui, mon application n'était tout simplement pas là. Et ce n'était pas non plus à la fin de la liste des applications (parfois, vous devez désinstaller pour tous les utilisateurs plutôt que simplement désinstaller pour l'utilisateur actuel). adb uninstalla parfaitement fonctionné.
moi--
30

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"

, nous devons désinstaller manuellement pour tous les utilisateurs avec l'option:

"Désinstaller pour tous les utilisateurs"

Jorgesys
la source
1
Oui cela fonctionne. Après anodin pour tous les utilisateurs, ça ionic cordova run android --devicemarche! Tks!
Diego Somar
10

Vous devez vous assurer que l'application est désinstallée.

Dans votre téléphone, essayez d'aller sur settings/applicationset affichez la liste de toutes vos applications installées, puis assurez-vous que l'application est désinstallée pour tous les utilisateurs (dans mon cas, j'avais désinstallé l'application mais toujours pour d'autres).

Terranologie
la source
5

Je rencontre généralement ce problème sur les appareils avec la version Android 5.0+. Puisqu'il a des comptes de profils multi-utilisateurs sur les mêmes appareils. Chaque application sera installée en tant qu'instance distincte pour tous les utilisateurs. Assurez-vous de désinstaller pour tous les utilisateurs comme capture d'écran ci-dessous.

entrez la description de l'image ici

Nagendra Badiganti
la source
5

J'ai accidentellement connecté deux appareils.

Après avoir supprimé un appareil, l' INSTALL_FAILED_UPDATE_INCOMPATIBLEerreur a disparu.

Anu S
la source
Se produit également si l'émulateur s'exécute accidentellement alors que vous ne vous y attendiez pas
blub
2

Désinstallez l'apk (application sur laquelle vous travaillez) de votre appareil Android, puis exécutez à nouveau.

Dean Gite
la source
1

Vous pouvez simplement ajouter un paramètre à exécuter, voir:

Run --> Parameters

Dans les paramètres de champ add -cleaninstall

Maintenant, lancez-les, ils feront toujours un nettoyage en profondeur avant l'installation.

Arthur Freitas
la source
1

Ok, désinstallez l'application, mais nous admettons que les données ne doivent pas être perdues? Cela peut être résolu, en mettant à niveau versionCode et versionName et essayez l'application en mode "Release".

Par exemple, cela est important lorsque nous voulons essayer la migration de notre base de données. Nous pouvons comparer notre application sur Play Store avec l'application réelle non encore publiée.

AlexPad
la source
1

Dans mon cas. J'ai installé l'application de version finale. Et après avoir désinstallé l'application de mon appareil. La chose fonctionne bien.

Shan Liu
la source
0

Dans mon cas, j'obtenais cela lorsque j'ai changé la version cible minimale de l'androïde et quand je suis revenu à la version d'origine (lorsque j'ai créé le projet au début). Donc, pour que la désinstallation fonctionne. Mais quand j'ai changé ma version Android pour la dernière, je l'ai à nouveau. Pour résoudre ce problème, je suis allé dans les propriétés du projet Android et dans la section manifeste Android, j'ai ajouté un nom de package, par exemple com.dotnetdreamer.net. Si vous avez déjà un nom de package, vous pouvez simplement le renommer en quelque chose d'autre.

Idrees Khan
la source
J'ai changé la «version de build cible» de mon application de 4.4.2 à 5.0.1. Maintenant, je ne peux pas mettre à jour la dernière version de mon application par rapport à la version précédemment publiée signée avec la même clé. Pouvez-vous fournir une URL expliquant / discutant de ce problème car je dois la partager avec mes clients. J'utilise eclipse et j'ai également essayé de résoudre ce problème à votre manière, mais je ne trouve pas la section "Android Manifest" dans les propriétés du projet. Peux-tu aider s'il te plait? Merci
Abdul Rehman
0

Une façon simple consiste à renommer le nom de votre package et à réexécuter

Meysam Khoshbakht
la source
0

Supprimer tous les fichiers d'application du téléphone

Pour automatiser la suppression d'une application sur votre téléphone, vous pouvez suivre les étapes ci-dessous. Il peut être très utile de supprimer votre application et vos données d'application de manière rapide et propre.

Créez un fichier texte avec ce code et enregistrez-le sous Uninstall.sh. Allez dans le dossier (où vous l'avez placé) de ce script dans le terminal et faites: sh Uninstall.sh YOURNAMESPACE

Maintenant, votre dossier d'espace de noms (y compris les fichiers d'applications et la base de données enregistrés) sera supprimé.

  echo "Going to platform tools $HOME/Library/Android/sdk/platform-tools"
  cd $HOME/Library/Android/sdk/platform-tools
  echo "uninstalling app with packagae name $1"
  ./adb uninstall $1

Supprimer tous les fichiers d'application du PC

Créez un fichier texte avec ce code et enregistrez-le sous DeleteBinObj.sh.

find . -iname "bin" -o -iname "obj" | xargs rm -rf

Allez dans le dossier de votre projet où vous placez ce script et faites dans le terminal: sh DeleteBinObj.sh

Robin Bruneel
la source
0

Au cas où cela aiderait quelqu'un, j'ai déployé mon application sur Google Play, lorsque je l'ai désinstallée et j'ai essayé d'exécuter un débogage sur mon appareil (nouvelle version), je recevais ce message de mise à jour qui a échoué.

Je ne pouvais pas voir l'application sur mon appareil (elle était déjà désinstallée), alors j'ai:

Réinstallation de la première version de Google Play

Paramètres ouverts / App / Nom de l'application

Effacé les données

Vider le cache

Désinstallé l'application

Vous pouvez maintenant déployer à nouveau la version de débogage sur l'appareil :)

DHLopez
la source
0

Si vous utilisez un appareil Samsung et que vous avez marqué par hasard votre application pour Samsung Knox, vous devez la désinstaller de l'application My Knox.

La désinstallation uniquement à partir des applications générales ne le désinstallera pas de l'application Knox. Cela doit être fait explicitement!

Uttam Byragoni
la source
0

Utilisation d'Ionic avec Cordova via la ligne de commande ...

ionic cordova run android --prod

Je suis tombé sur cela et j'ai constaté que j'avais supprimé la version finale d'une installation de test précédente, mais que j'avais une ancienne version de débogage qui traînait dans le tiroir des applications que j'avais manquée. J'ai débranché mon appareil de l'ordinateur, ouvert le tiroir des applications et utilisé "Rechercher des applications .." pour trouver toutes les instances de l'application pour les désinstaller. Ensuite, j'ai rebranché l'appareil sur l'ordinateur et l'alto, ça a marché!

Merci à tous pour l'aide!

Shane McCurdy
la source
0

J'espère que cela aidera quelqu'un à l'avenir, mais allez simplement à vous config.xml, à l'intérieur de la widgetbalise, changez l'identifiant par défaut ( io.ionic.starter) en votre propre identifiant. Jetez un œil à cela pour nommer les packages Android.

Zack
la source
0

Signature ne correspond pas à votre ancienne application actuelle et à votre nouveau fichier APK

Veuillez désinstaller l'application précédente et nettoyer gradlew et réinstaller apk

réagir-natif run-android

run-ios natif réactif

Keshav Gera
la source
0
  1. Désinstaller votre application de l'appareil connecté (émulateur ou mobile)
  2. obtenu le terminal dans le dossier du projet cd android 3, exécutez-le ./gradlew cleanensuite, nettoyez votre build 4 cd..et exécutez-le en dessous de 5 react-native run-android
Pawan
la source