0

. Ich nutze ein einzelnes Anmeldemodul für alle meine Apps, mit einer LoginActivity, die sowohl Facebook als auch Google Auth (Logik + UI) verarbeitet.
Jetzt ist es einfach, mit Facebook eine andere ID für jede App anzugeben, die den String facebook_app_id der Bibliothek im App-Modul überschreibt.Verwenden Sie die externe Datei google-services.json in der Bibliothek

Ich habe keine Möglichkeit gefunden, das gleiche mit Google Sign-In zu tun, da es eine google-services.json Datei erfordert. Tatsächlich schlägt der Build fehl, wenn ich die Datei in die App-Module und nicht in die Login-Bibliothek einfüge.

Error:Execution failed for task ':core:processReleaseGoogleServices'.
File google-services.json is missing. The Google Services Plugin cannot function without it.

Der Fehler ist selbsterklärend, ichgoogle-services.json im Login-Modul benötigen . Der Punkt ist, dass die anderen Apps ihre eigenen google-services.json haben.

Gibt es eine Möglichkeit, einen Dummy google-services.json in das Login-Modul hinzufügen und dann in jeder App mit dem echten übersteuern?

+0

Haben Sie tatsächlich versuchen, die fehlende google-services.json bieten, um zu sehen, was als nächstes passiert? – noogui

+0

Ja, es funktioniert, wenn ich die Datei zur Verfügung stelle. Aber ich möchte für jedes Modul eine andere google-services.json hinzufügen, da jedes Modul einen anderen Paketnamen und eine andere Anmeldekonfiguration hat. –

Antwort

5

Sie können keine google-services.json Datei in einer Bibliothek haben. Sie müssen hinzufügen die Abhängigkeiten benötigt, und es ist genug, um zu Bibliothek kompilieren.

Stattdessen in den Projekten, die die Bibliothek verwenden, müssen Sie das Plugin und die google-services.json Datei hinzufügen.

Um es in Ihrer Bibliothek zu tun, in der build.gradle Sie der Leitung entfernen haben

//apply plugin: 'com.google.gms.google-services' 
+0

Vielen Dank, also denke ich, dass es keine Möglichkeit gibt, Google Login-GUI und Logik zwischen meinen Apps zu teilen, oder? Das ist schlecht, mit Facebook überschreibe ich einfach die ID-Zeichenfolge. –

+1

@PaoloRotolo Sie können es tun. Lesen Sie besser die Antwort. Fügen Sie die Abhängigkeiten hinzu, um den Google-Login zu erstellen. Es ist genug zu kompilieren. Sie brauchen nicht die JSON-Datei, um es zu tun. Jede App hat eine eigene google-services.json und kann den Login-Build im gemeinsamen Modul wiederverwenden. –

+0

Super, es funktioniert! Danke vielmals. –

Verwandte Themen