Как сохранить файл Java для двух вариантов и исключить его для других в моем приложении?
У меня есть приложение для Android, скажем, с тремя вкусами. Первый называется free
, Второй аромат называется paid
, И третий аромат называется b2bClient
,
free
а также pro
нужна библиотека (пусть это будет Google Analytics), и, чтобы избежать дублирования кода, вспомогательный класс GoogleAnalyticsHelper
окружающие звонки в Google Analytics находятся в основном наборе источников. Но b2bClient
не использует библиотеку. Чтобы уменьшить размер b2bClient
APK, я не включаю библиотеку в ее зависимости от Gradle. Это вызывает ошибку компиляции при запуске assembleB2bClient
что очевидно (система сборки просто не имеет классов из com.google.android.gms.analytics
,
Я пытался исключить GoogleAnalyticsHelper
из исходного набора, когда аромат b2bClient
как это:
sourceSets {
main {
android.productFlavors.all { flavor ->
if (flavor.name == "b2bClient") {
java.exclude("**/GoogleAnalyticsHelper.java")
}
}
}
}
Это тоже не сработало. Та же ошибка. Можно ли исключить класс из основного исходного набора для определенного аромата?
1 ответ
Создайте модуль библиотеки скажем analytics
который содержит код GoogleAnalyticsHelper
, Теперь добавьте это analytics
библиотека только для аромата требует analytics
поведение.
Перейдите по этой ссылке, чтобы включить библиотеку только для определенного аромата.