Gradleコンパイル時に異なるgoogle-servicesを選択する.json

1241 ワード

アンドロイドアプリケーションではdebugとrelease buildで異なるGoogleサービスアカウントを使用する必要があります.異なるgoogle-serivcesを使用します.json、手動で置き換えるのは時間がかかりすぎて、万能のgradleで簡単にこの問題を解決することができます.解決策は次のとおりです.
2つのjsonファイルをそれぞれディレクトリに配置するとします.
app/src/debug/google_services.json
app/src/main/google_services.json

在build.gradleにtaskを2つ追加
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 "."
}

 
次に、この2つのtask,‘com.を異なるbuildに従ってそれぞれ実行する必要がある.google.gms.Google-services'というplugin定義の2つのtaskはそれぞれ
1 2 processDebugGoogleServices processReleaseGoogleServices
私たちは直接彼らを借りて、追加します.
afterEvaluate {
    processDebugGoogleServices.dependsOn switchToDebug
    processReleaseGoogleServices.dependsOn switchToRelease
}

これにより、異なるbuildを作成する際に対応するgoogle-servicesが使用されます.jsonです.
変換元:https://www.cnblogs.com/zzub/p/5017211.html