У меня есть приложение для Android, нацеленное на бизнес-клиентов в разных странах.
Мне нужно настроить приложение для этих клиентов. На данный момент я создал файл customization.xml(строковый ресурс под res/values), который будет содержать эти настраиваемые поля.
В настоящее время я havent нашел способ сделать эти клиенты зависимыми (также обратите внимание, что они должны быть в xml файлах).
Можно ли вставлять только файлы customizations.xml и androidmanifest.xml в git? Эти файлы довольно малы, поэтому я могу легко поддерживать их в разных ветвях. Однако другие изменения в проекте должны быть легко перенесены в разные отрасли. Как я могу это сделать?
Скажем, у нас есть: default: ведущая ветвь customer1: клиент1 ветка с другим androidmanifest.xml и customizations.xml клиент2:....
Спасибо за понимание. (Я бы предпочел git решить это, но если вы знаете другой способ, пожалуйста, уточните).
вы можете разветкить весь проект. однако никто не мешает вам изменять только эти два файла в ветке. вы можете просто объединить эти ветки для распространения изменений.
Git основан на снимке и будет хранить всю древовидную структуру для каждой фиксации. Тем не менее, он хранит содержимое на основе их хеш-значений. Это означает, что ваши изменения добавят минимальный размер в репозиторий.
Есть две проблемы, которые вы пытаетесь решить здесь: 1) Оптимальная стратегия управления версиями для выпуска выпусков для разных стран. 2) Пользовательские настройки, выполненные пользователем из приложения.
Для 1) рекомендуется создать ветку, внести необходимые изменения и сделать ее освобождением. Таким образом, вы сможете получить четкий снимок того, что находится в релизе, если вам нужно исправить ошибки. Он также будет адекватно учитывать потребности в настройке и управлении версиями, которые у вас будут для этого.
Для 2) загрузка пользовательского интерфейса для пользователей может быть выполнена путем запроса пользователю при первом запуске приложения выбрать из набора параметров. Затем вы можете сохранить это в настройках приложения. Убедитесь, что вы предоставили возможность изменить это в каком-либо меню настроек.