在 Firebase 上使用 Dev 和生产环境创建 Tow 项目 从 thre 下载 json 文件
并按照以下方式设置 SDK:https ://firebase.google.com/docs/android/setup 或者对于 Crashlytics:https ://firebase.google.com/docs/crashlytics/get-started?platform=android
首先,将每个 buildType 的相应 google_services.json 放置在以下位置:
app/src/debug/google_services.json
app/src/test/google_services.json
app/google_services.json
注意:根app/google_services.json 这个文件应该有根据构建变体复制根json文件中的json代码
现在,让我们在您的应用程序的 build.gradle 中启动一些 gradle 任务,以自动将适当的 google_services.json 移动到 app/google_services.json
将其复制到 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 "."
}
很好——但是在构建应用程序之前必须手动运行这些任务很麻烦。我们希望在之前的某个时间运行上述适当的复制任务:运行 assembleDebug 或 :assembleRelease。让我们看看运行 :assembleRelease 时会发生什么:将这个复制到 /gradlew 文件中
Zaks-MBP:my_awesome_application zak$ ./gradlew assembleRelease
Parallel execution is an incubating feature.
.... (other tasks)
:app:processReleaseGoogleServices
....
:app:assembleRelease
注意 :app:processReleaseGoogleServices 任务。此任务负责处理根 google_services.json 文件。我们希望处理正确的 google_services.json,因此我们必须事先立即运行我们的复制任务。将此添加到您的 build.gradle。注意 afterEvaluate 封闭。
将其复制到 app/Gradle 文件中
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
现在,只要 :app:processReleaseGoogleServices 被调用,我们新定义的 :app:switchToRelease 就会被预先调用。调试 buildType 的逻辑相同。您可以运行 :app:assembleRelease 并且发布版本 google_services.json 将自动复制到您的应用模块的根文件夹中。