Ich experimentiere mit dem NotesList-Beispielprogramm im Android SDK. Ich habe das Programm geringfügig geändert, aber wenn ich meine bearbeitete Version installiere, wird in der Konsole immer wieder die Meldung INSTALL_FAILED_CONFLICTING_PROVIDER angezeigt, wenn ich versuche, es zu installieren, wenn sich das ursprüngliche Notizenprogramm bereits auf dem Gerät befindet. Was muss ich im Provider ändern, um eine eindeutige Datenbank zu erstellen? Es funktioniert gut, wenn ich das ursprüngliche Notizenprogramm deinstalliere und dann meine bearbeitete Version installiere.
quelle
android:authorities
Attribut in meinemAndroidManifest
provider
Tag verwendet. Ich habe dieses Projekt als mein Android-Bibliotheksprojekt verwendet. Mit diesem Bibliotheksprojekt habe ich nur wenige Projekte entwickelt. wie man dasinstall_failed_conflicting_provider
Problem löst , wenn wir ein gemeinsames Bibliotheksprojekt verwenden.<provider>
das Manifest aus der Bibliothek und definieren Sie es auf Anwendungsebene mit einer eindeutigen Berechtigungszeichenfolge.android:authorities
oder<provider>
in meinem Bibliotheksmanifest und erhalte diesen Fehler.Wenn Sie unterschiedliche
applicationIdSuffix
Varianten haben und Kollisionen im Berechtigungsnamen vermeiden möchten, können Sie eine hinzufügen , um Typen zu erstellen und dieapplicationId
in Ihrem Manifest resultierenden Ergebnisse wie folgt zu verwenden:quelle
applicationId
Definitionen für jeden Produktgeschmack definieren. developer.android.com/studio/build/…applicationId
ohnehin für jedes Aroma unterschiedliche erstellen müssen. Wenn Sie unterschiedliche buildTypes hatten, möchten Sie auchapplicationId
zwischen diesen unterscheiden, und genau das wird dieapplicationIdSuffix
Eigenschaft tun.Wenn Sie Google Maps + Google Play Services in einem Bibliotheksprojekt verwenden (insbesondere, wenn Sie kürzlich von Eclipse zu Android Studio migriert sind), kann dieser Fehler auftreten, wenn Sie versuchen, eine App auszuführen, die Ihre Bibliothek verwendet, während eine andere App verwendet wird Die gleiche Bibliothek ist bereits auf Ihrem Gerät installiert.
Fix: Stellen Sie sicher, dass defaultConfig.applicationId im Android-Abschnitt der
build.gradle
Datei für jedes Projekt definiert ist, das Ihre Bibliothek verwendetIch würde empfehlen, den Paketnamen der jeweiligen App zu verwenden. Mit diesem Fix werden die Anbieternamen nicht mehr in Konflikt geraten und Ihre App wird wie erwartet ausgeführt.
Symptome
1.) Ihre Benutzer sehen den gefürchteten "-505" -Installationsfehler, wenn Sie Ihre App aus dem Play Store installieren.
2.) Diese Fehlermeldung wird angezeigt, wenn Sie versuchen, eine zweite App zu installieren, die Ihre Bibliothek über Android Studio [INSTALL_FAILED_CONFLICTING_PROVIDER] verwendet:
In Ihrer Konsole wird folgende Meldung angezeigt:
Das Update besteht darin, sicherzustellen, dass defaultConfig.applicationId im Android-Abschnitt der
build.gradle
Datei für jedes Projekt definiert ist, das Ihre Bibliothek verwendetWeitere Informationen finden Sie hier im Original-Fehlerbericht: Problem 784: Mehrere Apps verwenden denselben Autoritätsanbieternamen
quelle
Dies kann auch passieren, wenn Sie eine ältere Version Ihrer App installiert und Änderungen an der (Support-) Bibliothek oder der Manifestdatei vorgenommen haben. Durch Löschen der alten Anwendungen von Ihrem Gerät (
Settings --> Application --> <your application> --> Uninstall
) wird das Problem dann behoben.quelle
Wenn Sie das Facebook SDK verwenden, liegt das Problem möglicherweise in dem Wert "Behörden", den Sie für den Facebook-Anbieter angeben.
ERSETZEN -
MIT ->
Möglicherweise müssen Sie das
defaultConfig.ApplicationId
auch ändern, wie in anderen Antworten vorgeschlagen.quelle
Der gleiche Fehler kann nach dem Umbenennen von Paketen auftreten. Überprüfen Sie den Wert in string.xml für
android:authorities
aus AndroidManifest.xml.In string.xml sollte der Wert mit Ihrem im Manifest deklarierten Paketnamen übereinstimmen.
quelle
Der Name der Behörde + des Anbieters, den Sie wahrscheinlich im Manifest angegeben haben
quelle
Grundsätzlich geschah dies bei mir, als ich versuchte, den Paketnamen der App zu ändern.
Im Emulator wurde dieselbe App bereits installiert. Als ich versuchte, die App zu installieren, nachdem ich den Paketnamen geändert hatte, hieß es, die Berechtigung wurde bereits von einer älteren Anwendung im Gerät verwendet.
Einfach nach der Deinstallation der Anwendung löste es mein Problem.
Außerdem sollte der Name der Behörde immer lauten :
your.package.name.UNIQUENAME
;Beispiel:
quelle
Ich hatte ein ähnliches Problem, als ich eine Bibliothek in mehreren Anwendungen verwendete. Es war notwendig, einfach Ihre AndroidManifest.xml mit genau dieser Anbietererklärung unten zu aktualisieren.
quelle
Ich habe viele Lösungen ausprobiert, konnte aber keine Lösung finden ... aber dieser Link hat mir geholfen ... Ich möchte Details zum Problem angeben ...
Ich habe instrumentierte Testfälle ausgeführt, sodass meine App im Launcher nicht sichtbar war ... aber sie wurde installiert und verwendet daher denselben Inhaltsanbieter . Also sollte ich es irgendwie deinstallieren. So
Settings -> Application Manager -> All Downloaded Apps -> uninstall all apps from your current development package
Versuchen Sie jetzt zu rennen ... Das wird funktionieren ...
quelle
Ich dachte, die Deinstallation der App durch Ziehen des Symbols auf "Deinstallieren" würde das Problem lösen, tat es aber nicht.
Folgendes hat das Problem gelöst:
Versuchen Sie es erneut, es sollte jetzt funktionieren.
quelle
Wenn Sie Facebook in der App verwenden, suchen Sie nach dem Provider-Tag in der
AndroidManifest
Datei und überprüfen Sie, ob Ihreproject Id
korrekt istandroid:authorities
quelle
Ist auf dieses Problem gestoßen.
Gelöst durch:
1 - Öffnen Sie AndroidManifest.xml
2 - Strg + F "Anbieter" finden
3 - Suchen Sie den Anbieter und aktualisieren Sie dort Ihren Stammverzeichnisnamen.
Projekt ausführen. hoffentlich wird das Problem behoben!
quelle
Die Installation mit dem Befehl adb mit dem Befehl
./adb install -r abc.apk
löst das Problem (es wird überschrieben, selbst wenn das Gerät eine höhere App-Version hat).quelle
Wenn Sie auf Xamarin sind und diesen Fehler erhalten (wahrscheinlich aufgrund von Firebase.Crashlytics):
Wie hier erwähnt , müssen Sie Xamarin.Build.Download aktualisieren:
~/.local/share/NuGet
~/.nuget/packages
packages
Ordner in Lösungquelle
Auf meinem Android-Gerät hatte ich verschiedene Varianten der gleichen App installiert. Dies gibt mir den Fehler INSTALL FAILED CONFLICTING PROVIDER . Also deinstalliere ich alle Varianten derselben App. und versucht
adb install -r /Users/demo-debug-92acfc5.apk
Es hat mein Problem gelöst.
quelle
Sie können den Paketnamen "com.example" von dem Gerät deinstallieren, auf dem Sie die App ausführen, nachdem Sie die App ausgeführt haben. Das hat bei mir funktioniert
quelle