在做的安卓應用需要在 debug 和 release build中使用不同的谷歌服務賬號,要用到不同的google-serivces.json ,手動替換的話太費時費力,好在萬能的gradle可以完成輕松解決這個問題。解決步驟如下:
假設兩個json文件分別放在一下目錄:
app/src/debug/google_services.json app/src/main/google_services.json
在build.gradle新加兩個task
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 "."
}
接下來需要根據不同的build分別執行這兩個task,‘com.google.gms.google-services’這個plugin定義兩個task分別是
processDebugGoogleServices processReleaseGoogleServices
我們直接借用他們,添加:
afterEvaluate {
processDebugGoogleServices.dependsOn switchToDebug
processReleaseGoogleServices.dependsOn switchToRelease
}
這樣就會在編不同build時使用對應的google-services.json了。
