Я хочу сохранить разные конфигурации для вариантов сборки debug/release, но, видимо, файл google-services.json разрешает только один. Есть ли альтернатива? Есть ли способ сохранить несколько файлов?
Как сохранить различные настройки для моего приложения для Android с помощью GCM 3.0
Ответ 1
Я использую это обходное решение для решения аналогичной проблемы со сборкой.
Конкретные файлы google-service.json хранятся в папке /app/src/ {flavour-name}/google-service.json. Чтобы скопировать это в каталог /app, в файл /app/build.gradle можно добавить следующий код:
gradle.taskGraph.beforeTask { Task task ->
if(task.name ==~ /process.*GoogleServices/) {
android.applicationVariants.all { variant ->
if(task.name ==~ /(?i)process${variant.name}GoogleServices/){
copy {
from "/src/${variant.flavorName}"
into '.'
include 'google-services.json'
}
}
}
}
}
В отсутствие вкусов (как я понимаю ваш вопрос) следующий фрагмент кода /app/build.gradle выполнил эту работу в проекте тестирования студии Android:
gradle.taskGraph.beforeTask { Task task ->
if(task.name ==~ /process.*GoogleServices/) {
android.applicationVariants.all { variant ->
if(task.name ==~ /(?i)process${variant.name}GoogleServices/){
copy {
from '.'
into '.'
rename { String fileName ->
fileName.replace("google-services-${variant.name}.json", 'google-services.json')
}
include "google-services-${variant.name}.json"
}
}
}
}
}
Фрагмент ожидает от google-services-debug.json и google-services-release.json в вашем /app каталоге и копирует его и переименовывает его в google-services.json.
Надеюсь, что это поможет.
Ответ 2
Нет никакого способа определить конкретные конфигурации конфигурации на данный момент. Хорошая идея, кажется, что-то полезное.