Я согласен с тем, что сказал Reflog, моя компания использовала сценарий ant для изменения имени пакета для каждого бренда, а также для замены ресурсов по мере необходимости.Я написал базовое приложение с учетом поведения по умолчанию и создал папки для каждого дополнительного бренда, содержащие только те файлы, которые отличались от базовых, точно так же, как несколько папок для рисования с разными размерами dpi («drawable», «drawable-hdpi»)...).Другие изменения включали изменение файлов строк для каждого бренда для соответствующих цветов и легального текста.
Поименовывая их в стиле локализации (например, «drawable-en-rAA-hdpi», «layout-en-rBB»)...), я смог быстро протестировать это в нескольких эмуляторах, открыв приложение «Custom Locale» в каждом эмуляторе и установив в качестве языка «en_AA», «en_BB», если необходимо.Сохраняя несколько копий базового AVD, я смог сохранить эти настройки, поэтому мне не пришлось переключаться в эмуляторе для тестирования всех конечных брендов.
Одним из предостережений в этом подходе является эта эмулированная версияприложение будет включать все файлы в .apk, в то время как ant-скрипт удаляет дубликаты.Кроме того, хотя этот «полный» файл .apk будет установлен на устройствах, он будет отображать только поведение по умолчанию, если вы не можете установить языковой стандарт на устройстве в соответствии с языковым стандартом бренда.(Пользовательская локаль не была установлена ни на одном из моих физических устройств.) Это хорошо работает, если вы намеренно используете существующие именованные локали (en_AU, en_CA, en_GB), но может быть проблематичным для пользовательских имен (en_B1, en_XX).