web-dev-qa-db-fra.com

Android App Not Install. Un package existant du même nom avec une signature en conflit est déjà installé

Dans mon émulateur, lorsque je tente d'effectuer une mise à niveau de mon apk par programmation. Je reçois:

Android App Not Install.

An existing package by the same name with a conflicting signature is already installed

enter image description here

Je suis toujours dans la phase de test de cette mise à jour, le fichier que je télécharge est donc un fichier apk signé d'une version précédente, ce qui, à mon avis, devrait fonctionner sans problèmes. 

De la suggestion dans: un paquet existant du même nom avec une signature de configuration est déjà installé j’ai essayé d’exécuter l’émulateur à la fois en mode débogage et en mode normal. 

Des pensées sur ce que je manque?

115
James Oravec

Le problème réside dans les clés utilisées pour signer les fichiers APK. Par défaut, si vous exécutez directement à partir de votre IDE et ouvrez votre émulateur, le fichier APK installé dans l'émulateur est signé avec votre clé de débogage (généralement installée dans ~/.Android/debug.keystore), donc si le fichier APK précédent était signé avec une clé différente de celle que vous utilisez actuellement, vous obtiendrez toujours le conflit de signatures. Pour le résoudre, assurez-vous de bien utiliser le même fichier. Même clé pour signer les deux fichiers APK, même si le fichier APK précédent était signé avec une clé de débogage d'un autre SDK, les clés seront certainement différentes.

De plus, si vous ne savez pas exactement quelle clé était utilisée avant de signer l'apk et que vous souhaitez installer la nouvelle version de votre application, vous pouvez simplement désinstaller l'application précédente et réinstaller la nouvelle.

J'espère que cela t'aides...

Cordialement!

84
Martin Cazares

J'ai eu le même message d'erreur, mais ces réponses n'ont pas aidé. Sur un lien 4.3 7, j'utilisais un utilisateur qui n'était pas le propriétaire. J'avais désinstallé l'ancienne version mais je continuais à recevoir le même message.

Solution: Je devais me connecter en tant que propriétaire, accéder à Paramètres -> Applications, puis faire glisser votre doigt sur l'onglet Tous. Faites défiler l'écran jusqu'à la fin de la liste, où les anciennes versions sont répertoriées avec une marque "non installé". Sélectionnez-le et appuyez sur le bouton 'paramètres' dans le coin supérieur droit et enfin 'désinstaller pour tous les utilisateurs'

191
Αλέκος
 Go to Settings > Apps, find and open the app info. Then, open the overflow menu (3 vertical dots), and choose Uninstall for all users.

 enter image description here

Allez dans Paramètres> Applications, recherchez et ouvrez les informations sur l'application. Ensuite, ouvrez le menu de débordement (3 points verticaux) et choisissez Désinstaller pour tous les utilisateurs.

6
Keshav Gera

Si vous ne voulez pas vous occuper du fichier de magasin de clés, supprimez simplement le paquet pour tous les utilisateurs.

Connectez votre appareil avec Mac/PC et exécutez adb uninstall <package>

Travaillé pour moi.

Réf.: https://Android.stackexchange.com/questions/92025/how-to-completely-uninstall-an-app-on-Android-Lollipop

5
Avijit

Il existe une différence entre les fichiers APK signés et non signés. Très probablement, vous aviez précédemment un non signé. Il vous suffit de supprimer le non signé avant d'installer la version signée. La manière dont cela peut être accompli varie en fonction de la version exacte, mais en général, passez sur l'émulateur dans settings-> application, cliquez longuement sur votre application et supprimez/supprimez/désinstallez-la.

5
PearsonArtPhoto

Si vous utilisez l'apk de débogage, la clé utilisée pour le signer est en 

C:\Users\<user>\.Android\debug.keystore

Si vous utilisez cette même clé, il ne devrait pas y avoir de conflit lors de l'installation. 

4
Santiago

Si vous utilisez plusieurs utilisateurs sur Android, vérifiez que l'application est désinstallée partout. 

2
Martin Koubek

Un problème empêchait l'installation de la version de débogage et de l'édition sur les périphériques utilisés pour le débogage. Le même message apparaît lors de l'installation de la nouvelle version. La seule solution de contournement consistait à désinstaller la version actuelle et à installer la nouvelle.

Il semble qu'Android Studio marque l'apk qu'il installe de sorte que l'installation à l'aide des gestionnaires de paquets fasse la distinction entre la version installée pour le débogage et les versions téléchargées à partir de Google Play ou d'autres sources externes (cela ne m'est jamais arrivé avec Eclipse).

1
FunkSoulBrother

J'ai essayé tout ce qui précède et cela n'a pas fonctionné.

J'ai trouvé que, malgré la désinstallation de l'application, une nouvelle version de l'application génère toujours la même erreur.

Voici ce qui a résolu le problème: allez dans Paramètres -> Général -> Gestionnaire d'applications -> choisissez votre application -> cliquez sur les trois points en haut -> désinstallez pour tous les utilisateurs.

Une fois que cela est fait, il est maintenant désinstallé et permettra à votre nouvelle version de s’installer.

J'espère que cela t'aides.

0
FelixFelicis

Même erreur de package:

  1. Créez un nouveau package dans votre application avec un nom différent.
  2. Copiez et collez tous les fichiers de votre ancien paquet dans un nouveau paquet.
  3. Enregistrer le code.
  4. Supprimer l'ancien package And Clean et reconstruire le projet.
0
VIJAY RAVAL

Si les solutions ci-dessus ne vous convenaient pas, il se peut que vous deviez faire quelque chose comme ce qui suit.

1) installer l'application depuis l'Appstore.
2) mise à jour avec signe APK avec le même nom de paquet mis à jour.

Donc, fondamentalement, il existe deux types si APK.

1) vous avez téléchargé sur la boutique connue sous le nom d'APK original.
2) télécharger à partir de Playstore connu sous le nom APK dérivé.

Dans ce cas, vous téléchargez apk dérivé et le mettez à jour avec l'APK d'origine.

Pour que tout fonctionne correctement, a téléchargé le nouveau APK signé en mode de test interne sur le Google Play Store et téléchargez le fichier APK dérivé pour vérifier le scénario de mise à jour.

 enter image description here 

0
Wahab Khan Jadon

Il peut y avoir une autre raison pour laquelle votre application ne sera pas mise à jour lorsque vous modifierez/ajouterez/supprimerez shareId dans AndroidManifiest.

"Android: sharedUserId"

S'il vous plaît vérifier cela aussi. 

Pour prévenir, il serait recommandé d'utiliser sharedUserId dans votre application malgré vos besoins actuels ou actuels.

0
Pawan Maheshwari

 enter image description here Je devais me connecter en tant que propriétaire, accéder à Paramètres -> Applications, puis faire glisser votre doigt sur l'onglet Tous. Faites défiler l'écran jusqu'à la fin de la liste, où les anciennes versions sont répertoriées avec une marque "non installé". Sélectionnez-le et appuyez sur le bouton 'paramètres' dans le coin supérieur droit et enfin 'désinstaller pour tous les utilisateurs'

0
Ashish Kumar

Il se peut que l'application ne soit pas désinstallée avec succès. Si votre appareil est ce cas, vous pouvez essayer cette méthode. 

Commencez par obtenir le nom du package de l'application, par exemple 'com.xxx.app', vous pouvez utiliser Root Explorer et le trouver à partir du fichier Manifest (RE peut décoder le fichier). alors vous pouvez utiliser ce script pour le désinstaller:

adb Shell pm uninstall com.xxx.app // replace to package name that you want to remove
0
twiceYuan