INSTALL_FAILED_CONFLICTING_PROVIDER dans Android
Je suis en utilisant un open-srouce code de Google pour une application appelée MyTracks.
J'obtiens ce message d'erreur lors de l'application d'origine est installé sur le téléphone.
INSTALL_FAILED_CONFLICTING_PROVIDER
Je sais que c'est à cause de la android:authorities
dans le Manifeste.
ici est la partie du Manifeste:
<provider
android:name="com.google.android.apps.mytracks.content.MyTracksProvider"
android:authorities="com.google.android.maps.mytracks"
android:exported="true"
android:readPermission="com.google.android.apps.mytracks.READ_TRACK_DATA"
android:writePermission="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
<!-- Search suggestion provider -->
<provider
android:name="com.google.android.apps.mytracks.content.SearchEngineProvider"
android:authorities="com.google.android.maps.mytracks.search"
android:exported="false" />
Donc, ma question est: je veux savoir si cette approche pourrait résoudre le problème ou pas, parce que j'ai peur de changer tous les noms des paquetages et ensuite l'ensemble de l'application cassé.
- La
android :authorities
valeur est le nom du package. Leandroid:name
est le nom de la classe de ce fournisseur.
Suis-je la corriger?
Si je change le nom du paquet, à un autre différent de la com.google etx, et de renommer toutes les références/importations de ce paquet, le problème doit-il disparaître?
source d'informationauteur ghostrider
Vous devez vous connecter pour publier un commentaire.
Dans ce cas, il arrive être le nom du paquet. Il n'a tout simplement unique.
Correcte.
Le nom du paquet n'a rien à faire avec elle. Vous devrez peut-être modifier, même si, pour votre application pour pouvoir être installé à côté de l'ordinaire, la non-modifiée app.
Vous devez avoir une valeur unique pour
android:authorities
et le code dans votre application qui utilise ceContentProvider
besoin d'utiliser unUri
(content://whatever.you.change.the.authority.to/...
).il vous suffit de désinstaller helloFacebooksample application à partir de l'appareil que vous
Si vous utilisez les Cartes de Google + Google Play Services à l'intérieur d'un projet de bibliothèque, vous pouvez rencontrer cette erreur lorsque vous essayez d'exécuter une application qui utilise votre bibliothèque, alors qu'une autre application qui utilise la même bibliothèque est déjà installé sur votre appareil.
Correctif:
assurez-vous que defaultconfig.ini.php.identificateur applicationid est défini dans la section android de la
build.gradle
fichier pour chaque projet à l'aide de votre bibliothèqueJe vous conseille d'utiliser le nom du package de l'application. Avec ce correctif, le fournisseur de noms n'aura plus de conflit, et votre application sera exécutée comme prévu.
Symptômes
1.) Vos utilisateurs voient le redoutable "-505" erreur d'installation lors de l'installation de votre application depuis le 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:
Dans votre console, vous verrez un message comme ceci:
Pour corriger ce problème, assurez-vous que defaultconfig.ini.php.identificateur applicationid est défini dans la section android de la
build.gradle
fichier pour chaque projet à l'aide de votre bibliothèquePlus de lecture peuvent être trouvés ici dans l'original du rapport de bug: Question 784: Plusieurs applications utilisant la même autorité fournisseur de nom
si vous utiliser pour l'ex-facebook-sdk
ensuite, pour chaque application que vous devez unique cette ligne dans le manifeste
xxxxxxxxxx - doit être unique pour chaque application, pour facebook-sdk c'est votre facebook_id nombre
J'ai eu ce même message d'erreur quand j'ai changé le nom du paquet dans mon manifeste de l'application. Cela crée un conflit lorsque vous essayez d'installer à nouveau l'application (avec le nouveau nom du package). La solution est de supprimer l'ancienne version de l'application (qui utilise l'ancien nom de paquet), alors vous serez en mesure d'installer la nouvelle version.
La gradle doit également contenir cette
J'avais laissé complètement
Vous peut-être compiler même bibliothèque ou y compris les bibliothèques. Par exemple :
Code ci-dessus, google play services (première ligne ) comprend tous les autres services .
peut-être la mémoire de votre téléphone est pleine, de sorte s'il vous plaît vérifier