Контекст:
Я пытаюсь настроить Google Analytics для своего приложения. (имея 4 пользовательских buildTypes
и более чем несколькоproductFlavors
)
Он работает нормально, когда я выбираю для Build Variant
которого applicationId
установлено значение com.my.app.package.name
(имя пакета, используемое при созданииgoogle-services.json
). Но другие мои ароматы имеют разные идентификаторы применения.
Я последовал за официальным инструктором, чтобы настроить его.
Ошибка, которую я получаю, когда выбран любой другой вариант сборки Build Variants Tab
(который отличается applicationId
(имя пакета)), выглядит следующим образом:
Ошибка: не удалось выполнить задачу ': app: processAllcategoriesDebugfreeGoogleServices'.
Не найдено подходящего клиента для имени пакета 'com.my.app.package.name.debug'
Объяснение сообщения об ошибке:
В названии задачи в сообщении об ошибке выше Debugfree
мой обычай buildType
и Allcategories
один из моих productFlavors
.
Я понимаю ошибку и знаю, что имя пакета отличается от того, которое я использовал при создании json, но это то, что я пытаюсь обойти.
Проблема:
Теперь они google-services.json
находятся в app
папке, и, следовательно, я не могу выделить их для каждого продукта, поместив их в папку с исходным набором продуктов.
Вопросов:
- Мой кастом
byildType
для отладки суффиксов.debug
кapplicationId
(имя пакета). Есть ли способ, которым я могу заставить это работать с тем, уgoogle-services.json
которого есть мой выпускapplicationId
(то есть без суффикса.debug
) - Есть ли способ настроить несколько вариантов продукта в одном
google-services.json
файле, не используя отдельные файлы и задачи, чтобы скопировать нужный файл вapp
папку. Я знаю, что это можно сделать, используя,task
как указано в этом посте . Существует ли более простой способ иметь один файл или выбрать нужный файл в зависимости от конфигурации Gradle? - Я вижу, что
package_name
полеgoogle-services.json
имеет имя пакетаcom.my.app.package.name
. Могу ли я добавить несколько имен пакетов вручную, чтобы работать для всех вариантов сборки? Если да, то как это сделать? Не удалось найти никаких инструкций в документации.