flavorDimensions가 여러 개인 경우 google-services.json을 설정하는 방법
Too long, Don't read
샘플 build.gradle
build.gradle
android {
// 略
flavorDimensions "mode", "api"
productFlavors {
dev {
dimension "mode"
applicationIdSuffix '.dev'
}
prd {
dimension "mode"
}
minApi23 {
dimension "api"
minSdkVersion '23'
}
minApi21 {
dimension "api"
minSdkVersion '21'
}
}
buildTypes {
debug {
// 略
}
release {
// 略
}
}
}
// 略
apply plugin: "com.google.gms.google-services"
app/src/フレーバー名/
의 바로 아래에 google-services.json
를 배치하면 주워주게 되었습니다만,실제로 사용하고 싶다.
그러나 이 모든 맛의 조합
[dev/prd]×[minApi23/minApi21]×[debug/release] = 2 × 2 × 2 = 8
그냥 있기 때문에 각 폴더에 google-services.json을 넣어야합니다.
그렇게 할 수 있습니다.
해결책
google-services.json
배치 gradle.taskGraph.beforeTask { Task task ->
if (task.name ==~ /process.*GoogleServices/) {
android.applicationVariants.all { variant ->
if (task.name ==~ /(?i)processDev.*GoogleServices/) {
copy {
from "src/dev"
into "."
include "google-services.json"
}
} else {
copy {
from "src/prd"
into "."
include "google-services.json"
}
}
}
}
}
GoogleServices를 로드하는 프로세스 이름은
google-services.json
이므로,productFlavorName의 머리가 dev인지 prd인지 google-service.json의 복사 원본을 결정하고 복사합니다.
그렇게만 그렇습니다만, 해주지 않아-! 한 사람이 더 이상 증가하지 않도록 쓸 때.
Reference
이 문제에 관하여(flavorDimensions가 여러 개인 경우 google-services.json을 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/farman0629/items/11c498af824f02a484b6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)