Firebase üzerinde Dev ve üretim Ortamı ile Tow projesi oluşturun.
ve SDK'yı şu şekilde ayarlayın: https://firebase.google.com/docs/android/setup Veya Crashlytics için: https://firebase.google.com/docs/crashlytics/get-started?platform=android
İlk olarak, her buildType için ilgili google_services.json'u aşağıdaki konumlara yerleştirin:
app/src/debug/google_services.json
app/src/test/google_services.json
app/google_services.json
Not: Kök uygulaması / google_services.json Bu dosya, yapı değişkenlerine göre kök json dosyasındaki json kodunu kopyalamalıdır
Şimdi, uygun google_services.json'u app / google_services.json'a taşımayı otomatikleştirmek için uygulamanızın build.gradle dosyasında bazı önemli görevleri toplayalım
bunu uygulamada / Gradle dosyasında kopyala
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 "."
}
Harika - ancak uygulamanızı oluşturmadan önce bu görevleri manuel olarak yürütmek zor bir iştir. Yukarıdaki uygun kopyalama görevinin bir süre önce çalıştırılmasını isteriz: assembleDebug veya: assembleRelease çalıştırılır. Bakalım ne olacak: assembleRelease çalıştırıldığında: bunu / gradlew dosyasına kopyalayın
Zaks-MBP:my_awesome_application zak$ ./gradlew assembleRelease
Parallel execution is an incubating feature.
.... (other tasks)
:app:processReleaseGoogleServices
....
:app:assembleRelease
: App: processReleaseGoogleServices görevine dikkat edin. Bu görev, kök google_services.json dosyasının işlenmesinden sorumludur. Doğru google_services.json'un işlenmesini istiyoruz, bu yüzden kopyalama görevimizi hemen çalıştırmalıyız. Bunu build.gradle dosyasına ekleyin. AfterEvaluate ekine dikkat edin.
bunu uygulamada / Gradle dosyasında kopyala
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
Şimdi, istediğiniz zaman: app: processReleaseGoogleServices çağrılır, yeni tanımladığımız: app: switchToRelease önceden çağrılır. BuildType hata ayıklaması için aynı mantık. Çalıştırabilirsiniz: app: assembleRelease ve google_services.json yayın sürümü otomatik olarak uygulama modülünüzün kök klasörüne kopyalanır.