Créez le projet Tow avec l'environnement de développement et de production sur la base de feu Téléchargez le fichier json à partir de trois
et configurez le SDK selon: https://firebase.google.com/docs/android/setup Ou pour Crashlytics: https://firebase.google.com/docs/crashlytics/get-started?platform=android
Tout d'abord, placez le google_services.json respectif pour chaque buildType aux emplacements suivants:
app/src/debug/google_services.json
app/src/test/google_services.json
app/google_services.json
Remarque: Root app / google_services.json Ce fichier devrait être là selon les variantes de construction copiez le code json dans le fichier json racine
Maintenant, passons en revue certaines tâches de gradle dans votre: app's build.gradle pour automatiser le déplacement du google_services.json approprié vers app / google_services.json
copiez-le dans le fichier app / Gradle
task switchToDebug(type: Copy) {
description = 'Switches to DEBUG google-services.json'
from "src/debug"
include "google-services.json"
into "."
}
task switchToRelease(type: Copy) {
description = 'Switches to RELEASE google-services.json'
from "src/release"
include "google-services.json"
into "."
}
Excellent - mais il est fastidieux de devoir exécuter manuellement ces tâches avant de créer votre application. Nous voudrions que la tâche de copie appropriée ci-dessus soit exécutée quelque temps avant: assembleDebug ou: assembleRelease est exécuté. Voyons ce qui se passe lorsque: assembleRelease est exécuté: copiez celui-ci dans le fichier / gradlew
Zaks-MBP:my_awesome_application zak$ ./gradlew assembleRelease
Parallel execution is an incubating feature.
.... (other tasks)
:app:processReleaseGoogleServices
....
:app:assembleRelease
Notez la tâche: app: processReleaseGoogleServices. Cette tâche est responsable du traitement du fichier racine google_services.json. Nous voulons que le google_services.json correct soit traité, nous devons donc exécuter notre tâche de copie immédiatement avant. Ajoutez ceci à votre build.gradle. Notez l'afterEvaluate englobant.
copiez-le dans le fichier app / Gradle
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
Désormais, à tout moment: app: processReleaseGoogleServices est appelé, notre nouveau: app: switchToRelease sera appelé au préalable. Même logique pour le buildType de débogage. Vous pouvez exécuter: app: assembleRelease et la version de sortie google_services.json sera automatiquement copiée dans le dossier racine de votre module d'application.