L’installation affiche une erreur dans la console: INSTALL FAUX CONFLIT FOURNISSEUR

J’expérimente le programme exemple NotesList dans le SDK Android. J’ai fait une légère variation dans le programme, mais lorsque j’installe ma version éditée, je continue à recevoir le message INSTALL_FAILED_CONFLICTING_PROVIDER dans la console lorsque j’essaie de l’installer lorsque le programme de notes d’origine est déjà sur le périphérique. Que dois-je changer dans le fournisseur pour en faire une firebase database unique? Cela fonctionne bien si je désinstalle le programme de notes original et installe ensuite ma version modifiée.

L’autorité, comme indiqué dans android:authorities doivent être uniques. Citant la documentation de cet atsortingbut :

Pour éviter les conflits, les noms d’autorité doivent utiliser une convention d’atsortingbution de noms de style Java (par exemple, com.example.provider.cartoonprovider). En règle générale, c’est le nom de la sous-classe ContentProvider qui implémente le fournisseur.

Si vous avez des saveurs différentes et que vous souhaitez éviter les collisions dans le nom de l’autorité, vous pouvez append un applicationIdSuffix pour générer les types et utiliser l’ applicationId résultante dans votre manifeste, comme ceci:

 <... android:authorities="${applicationId}.contentprovider"/> 

Si vous utilisez Google Maps + Google Play Services dans un projet de bibliothèque (en particulier si vous avez récemment migré d’Eclipse vers Android Studio), vous pouvez rencontrer cette erreur lorsque vous essayez d’exécuter une application utilisant votre bibliothèque, alors qu’une autre application utilisant la même bibliothèque est déjà installée sur votre appareil.

Correction: assurez-vous que defaultConfig.applicationId est défini dans la section android du fichier build.gradle pour chaque projet utilisant votre bibliothèque

 android { defaultConfig.applicationId = "com.company.appname" } 

Je recommande d’utiliser le nom du package de l’application spécifique. Avec ce correctif, les noms des fournisseurs ne seront plus en conflit et votre application s’exécutera comme prévu.

Symptômes

1.) Vos utilisateurs voient la terrible erreur d’installation “-505” lors de l’installation de votre application à partir du Play Store.

2.) Vous verrez ce message d’erreur lorsque vous essayez d’installer une deuxième application qui utilise votre bibliothèque via Android Studio [INSTALL_FAILED_CONFLICTING_PROVIDER]:

Fournisseur en conflit

Dans votre console, vous verrez un message comme celui-ci:

 Package couldn't be installed in /data/app/com.company.appname-1 com.android.server.pm.PackageManagerException: Can't install because provider name com.google.android.gms.measurement.google_measurement_service (in package com.company.appname) is already used by com.company.otherInstalledAppName 

La solution consiste à vérifier que defaultConfig.applicationId est défini dans la section android du fichier build.gradle pour chaque projet utilisant votre bibliothèque.

 android { defaultConfig.applicationId = "com.company.appname" } 

Plus de lecture peut être trouvée ici dans le rapport de bogue original: Problème 784: Plusieurs applications utilisant le même nom de fournisseur d’autorité

Cela peut également se produire lorsque vous avez installé une ancienne version de votre application et apporté des modifications à la bibliothèque (prise en charge) ou au fichier manifeste. Supprimer les anciennes applications de votre appareil ( Settings --> Application --> --> Uninstall ) résoudra alors le problème.

Si vous utilisez le SDK Facebook, le problème pourrait se trouver dans la valeur “autorités” que vous fournissez au fournisseur Facebook.

REMPLACER –

  

AVEC ->

  

Vous devrez peut-être également modifier defaultConfig.ApplicationId comme suggéré dans d’autres réponses.

La même erreur peut se produire après avoir renommé les packages. Vérifiez la valeur dans ssortingng.xml pour android:authorities de AndroidManifest.xml.

  

Dans ssortingng.xml, la valeur doit être identique à votre nom de package, déclaré dans le manifeste.

 com.whatever.android.sunshine.app 

Le nom Autorité + Fournisseur que vous avez déclaré dans le manifeste probablement

Fondamentalement, cela s’est passé avec moi, lorsque j’ai essayé de changer le nom du paquet de l’application.

Donc, dans l’émulateur, la même application était déjà installée. Lorsque j’ai essayé d’installer l’application après avoir changé le nom du package, a-t-il dit, l’autorité déjà utilisée par l’ancienne application dans le périphérique.

Simplement après avoir désinstallé l’application, cela a résolu mon problème.

En outre, le nom de l’autorité doit toujours être: your.package.name.UNIQUENAME ;

Exemple :

   

Si vous utilisez Facebook à l’intérieur de l’application, vérifiez le nom du fournisseur dans le fichier AndroidManifest et vérifiez que l’ project Id votre project Id est correct pour android:authorities

  

J’ai essayé de nombreuses solutions mais je n’ai pas trouvé de solution … mais ce lien m’a aidé … Je veux donner des détails sur le problème …

J’exécutais des cas de test instrumentés afin que mon application ne soit pas visible dans le lanceur … mais elle était installée et utilisait donc le même fournisseur de contenu . Donc, je devrais le désinstaller en quelque sorte. So Settings -> Application Manager -> All Downloaded Apps -> uninstall all apps from your current development package

Maintenant, essayez de courir … Cela fonctionnera …

installer en utilisant adb avec la commande ./adb install -r abc.apk résoudra le problème (il écrasera même lorsque le périphérique a une version d’application plus élevée)

J’ai eu un problème similaire lorsque j’ai utilisé une bibliothèque dans plusieurs applications. Il était nécessaire de mettre à jour votre AndroidManifest.xml avec cette déclaration de fournisseur exacte ci-dessous.

       

Dans mon appareil Android, j’avais différentes versions de la même installation d’ application . Cela me donne une erreur INSTALL FAUX CONFLIT FOURNISSEUR . donc je désinstalle toutes mes saveurs de la même application. et essayé

adb install -r /Users/demo-debug-92acfc5.apk

Cela a résolu mon problème.

A rencontré ce problème.

Résolu par:

1 – ouvrir AndroidManifest.xml

2 – ctrl + f trouver “fournisseur”

3 – Recherchez le fournisseur et mettez à jour votre nom de répertoire racine.

exécuter le projet. Espérons que le problème sera résolu!

J’ai pensé que désinstaller l’application en faisant glisser son icône sur “Désinstaller” résoudrait le problème, mais ce n’est pas le cas.

Voici ce qui a résolu le problème:

  1. Aller aux parameters
  2. Choisissez des applications
  3. Trouvez votre application (oui j’ai été surpris de la trouver encore ici!) Et appuyez dessus
  4. En haut à droite, appuyez sur les 3 points
  5. Sélectionnez ” Désinstaller pour tous les utilisateurs

Réessayez, ça devrait marcher maintenant.