2017-12-08 5 views
0

Ich hatte ein Android-Projekt von einem meiner Freunde ausgeliehen und nach dem Importieren, habe ich einen Fehler, dass die The application was configured for some other audience - appId doesn't match the one in google-services.json. Danach wusste ich, dass ich den Paketnamen von Java-Dateien ändern und Firebase wieder verbinden musste, also tat ich es. Ich erhalte eine Fehlermeldung:Android Firebase: Kein passender Kunde gefunden für das Paket

Error:Execution failed for task ':app:processDebugGoogleServices'. 
> No matching client found for package name 'com.***.***.chitchat' 

Ich habe den gleichen Paketnamen in AndroidManifest.xml, build.gradle und google-services.json. Seltsam ist, dass alle ihr Problem gelöst haben, nachdem sie die erforderlichen Änderungen vorgenommen haben. Mine wirft immer noch einen Fehler. Warum das?

Antwort

1

Die Paketnamen Ihres Java-Codes haben tatsächlich nichts mit diesem Fehler zu tun. Es ist die Anwendungs-ID Ihrer gesamten App, die Sie sich ansehen müssen (in Ihrem build.gradle).

Das Google-Dienste-Plug-in untersucht Ihre Anwendungs-ID und versucht, sie mit einem Paketnamen abzugleichen, der in Ihrer google-services.json-Datei korrigiert wird. Wenn es keine Übereinstimmung gibt, wird es Ihnen diesen Fehler geben. Um dies zu beheben, ändern Sie entweder die Anwendungs-ID in build.gradle so, dass sie mit dem in der Firebase-Konsole für Ihre App eingerichteten Paketnamen übereinstimmt, oder erstellen Sie eine neue App in der Konsole mit einem Paketnamen, der Ihrer Anwendungs-ID entspricht.

Wenn Sie ein Projekt von einem Freund ausgeliehen haben, vermute ich, dass Sie auch ihre google-services.json in Besitz genommen haben, die Sie normalerweise nicht freigeben oder in die Quellcodeverwaltung einchecken, es sei denn, jeder hat vollen Zugriff darauf Projekt. Wenn Sie in Ihrem eigenen Projekt arbeiten, müssen Sie dies in der Konsole einrichten und eine neue Google-services.json generieren, die Ihrer App entspricht.

+0

Ich habe gerade gelesen, dass die ApplicationId in build.gradle unabhängig von der Anwendung Paketname ist, so änderte ich das. Ich habe eine google-services.json neu erstellt, aber es wird immer noch kein übereinstimmender Client angezeigt, auch wenn ich deutlich sehen kann, dass der JSON-Baum Werte enthält, die applicationId in build.gradle entsprechen. –

+0

Inhalt der Dateien hochladen? –

+0

Hey, ich habe das Problem gefunden. Es gab 2 google-services.json. Einer war unter der Debug-Build-Variante, die seltsamerweise nicht durch das Firebase-Tool aktualisiert wurde, das ich verwendete. Dasjenige, das Firebase Tool aktualisiert hat, war in app/google-services.json und das andere war in app/src/debug/google-services.json. Aber wie gesagt, wir müssen die applicationId immer noch ändern, damit sie mit der in google-services.json übereinstimmt. Keine Notwendigkeit, den Paketnamen zu ändern. –

Verwandte Themen