Можно ли построить apk с более чем 1 вкус продукта?
Например:
У меня есть проект с 3 вариантами (App1 - App2 - App3).
и каждое приложение имеет свои собственные конфигурации, такие как applicationId и т. д.
и теперь я хочу создавать разные шаблоны (разные макеты XML), и пользователь должен иметь возможность переключаться с макета на другой из приложения.
Моя проблема в том, что папка res будет огромной, и ее будет сложно обслуживать, поэтому я пытаюсь найти способ разделить различные макеты и сохранить их в максимально возможной степени чистыми.
И если это возможно, то как мне настроить или перезапустить приложение для сборки других версий?
Еще одна вещь, которую я имел в виду, состояла в том, чтобы собрать все файлы XML в главном разрешении и выбрать разные классификаторы, например, когда мы делаем это при создании экрана другого размера (sm - larg - и т. Д.), Но я не смог найти способ добавить собственные классификаторы ,
Мой Gradle
код выглядит так:
flavorDimensions "default"
productFlavors {
demo {
applicationId "test.demo"
versionCode 2
versionName "1.1.2"
resValue "string", "backage_name_file", "test.demo.fileprovider"
resValue "string", "bc", "com.demo"
resValue "string", "bc_e", "extra_data.com.demo"
resValue "string", "default_hostname", "demo.test.com"
resValue "string", "default_username", "demo"
resValue "string", "default_password", "demo"
}
AppOne {
applicationId "test.AppOne"
versionCode 2
versionName "1.1.2"
resValue "string", "backage_name_file", "test.AppOne.fileprovider"
resValue "string", "bc", "com.AppOne"
resValue "string", "bc_e", "extra_data.com.AppOne "
resValue "string", "default_hostname", "AppOne.test.com"
resValue "string", "default_username", "AppOne"
resValue "string", "default_password", "AppOne"
}
AppTwo {
applicationId "test.AppTwo"
versionCode 2
versionName "1.1.2"
resValue "string", "backage_name_file", "test.AppTwo.fileprovider"
resValue "string", "bc", "com.AppTwo"
resValue "string", "bc_e", "extra_data.com.AppTwo"
resValue "string", "default_hostname", "demoAppTwotest.com"
resValue "string", "default_username", "AppTwo"
resValue "string", "default_password", "AppTwo"
}
}