Buat proyek Tow dengan Dev dan Lingkungan produksi di firebase Unduh file json dari thre
dan siapkan SDK sesuai: https://firebase.google.com/docs/android/setup Atau untuk Crashlytics: https://firebase.google.com/docs/crashlytics/get-started?platform=android
Pertama, letakkan masing-masing google_services.json untuk setiap buildType di lokasi berikut:
app/src/debug/google_services.json
app/src/test/google_services.json
app/google_services.json
Catatan: Root app / google_services.json File ini harus ada di sana sesuai dengan varian build, salin kode json di file root json
Sekarang, mari kita siapkan beberapa tugas tingkat di: build.gradle aplikasi Anda untuk mengotomatiskan memindahkan google_services.json yang sesuai ke app / google_services.json
salin ini di file 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 "."
}
Hebat - tetapi harus secara manual menjalankan tugas-tugas ini sebelum Anda membangun aplikasi Anda rumit. Kami ingin tugas penyalinan yang sesuai dijalankan di atas beberapa saat sebelumnya: assembleDebug atau: assembleRelease dijalankan. Mari kita lihat apa yang terjadi ketika: assembleRelease dijalankan: salin yang ini di file / gradlew
Zaks-MBP:my_awesome_application zak$ ./gradlew assembleRelease
Parallel execution is an incubating feature.
.... (other tasks)
:app:processReleaseGoogleServices
....
:app:assembleRelease
Perhatikan tugas: app: processReleaseGoogleServices. Tugas ini bertanggung jawab untuk memproses file root google_services.json. Kami ingin google_services.json yang benar diproses, jadi kami harus segera menjalankan tugas penyalinan kami. Tambahkan ini ke build.gradle Anda. Perhatikan penutup afterEvaluate.
salin ini di file app / Gradle
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
Sekarang, kapan saja: app: processReleaseGoogleServices dipanggil, aplikasi kami yang baru: switchToRelease akan dipanggil sebelumnya. Logika yang sama untuk buildType debug. Anda dapat menjalankan: app: assembleRelease dan versi rilis google_services.json akan secara otomatis disalin ke folder root modul aplikasi Anda.