在Firebase上使用开发环境和生产环境创建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将自动复制到您应用模块的根文件夹中。