Tạo dự án Tow với Dev và Môi trường sản xuất trên firebase Tải xuống tệp json từ thre
và thiết lập SDK theo: https://firebase.google.com/docs/android/setup Hoặc cho Crashlytics: https://firebase.google.com/docs/crashlytics/get-started?pl platform = android
Đầu tiên, đặt google_service.json tương ứng cho mỗi buildType ở các vị trí sau:
app/src/debug/google_services.json
app/src/test/google_services.json
app/google_services.json
Lưu ý: Root app / google_service.json Tệp này phải ở đó theo các biến thể xây dựng sao chép mã json trong tệp gốc json
Bây giờ, hãy thực hiện một số tác vụ cấp độ trong: build.gradle của ứng dụng để tự động hóa việc chuyển google_service.json thích hợp sang app / google_service.json
sao chép này trong tập tin ứng dụng / 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 "."
}
Tuyệt vời - nhưng phải tự chạy các tác vụ này trước khi bạn xây dựng ứng dụng của mình thì cồng kềnh. Chúng tôi muốn tác vụ sao chép thích hợp ở trên chạy một lúc nào đó trước đây: assemblybleDebug hoặc: assemblybleRelease được chạy. Hãy xem điều gì xảy ra khi: assemblybleRelease được chạy: sao chép tệp này trong tệp / gradlew
Zaks-MBP:my_awesome_application zak$ ./gradlew assembleRelease
Parallel execution is an incubating feature.
.... (other tasks)
:app:processReleaseGoogleServices
....
:app:assembleRelease
Lưu ý: ứng dụng: processReleaseGoogleService. Tác vụ này chịu trách nhiệm xử lý tệp google_service.json gốc. Chúng tôi muốn google_service.json chính xác được xử lý, vì vậy chúng tôi phải chạy tác vụ sao chép của chúng tôi ngay lập tức. Thêm phần này vào build.gradle của bạn. Lưu ý bao vây sau khi định giá.
sao chép này trong tập tin ứng dụng / Gradle
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
Bây giờ, bất cứ lúc nào: app: processReleaseGoogleService được gọi, ứng dụng mới được xác định của chúng tôi: app: switchToRelease sẽ được gọi trước. Logic tương tự cho buildType gỡ lỗi. Bạn có thể chạy: app: assemblybleRelease và phiên bản phát hành google_service.json sẽ được tự động sao chép vào thư mục gốc của mô-đun ứng dụng của bạn.