Я разработал одно приложение для Android в одном проекте с Eclipse — оно структурировано (исходя из iPhone), поэтому одна константа определяет, будет ли это демо или полная версия.
Теперь у меня проблема, что каждый раз, когда я хочу создать демо-версию, мне нужно изменить константу, но также нужно сделать копию проекта с другим именем пакета.
Очевидно, что изменение кода в исходной полной версии необходимо скопировать в демо-версию, иначе мне придется повторять создание демо-приложения каждый раз, когда я отправляю свое приложение.
Я вижу три возможных подхода:
1. Хотя я просматривал библиотечные проекты, мне все еще неясно, как это действительно обеспечивает хорошее решение в этом случае.
Например, если у меня есть полная версия со структурой действий:
A1
A2
A3
используя классы полезности U1,U2
Конечно, U1 и U2 могут быть в проекте библиотеки и ссылаться на них из обоих проектов, но действия, strings.xml, графика, макеты должны быть продублированы (или есть другой способ, который я не вижу?) Это не похоже быть хорошим шагом вперед и, к сожалению, не было объяснено в аналогичных вопросах по этой теме, когда был предложен этот подход.
2. Другим способом было бы создание разных имен пакетов на основе разных настроек сборки (аналогично iPhone), однако это кажется невозможным в Eclipse, а не с использованием некоторых внешних сценариев (чего, честно говоря, я предпочитаю избегать, поскольку это кажется довольно подверженным ошибкам), в то время как компиляция должна быть вызвана вне Eclipse
3. Вероятно, самый простой подход (и также в настоящее время с минимальными усилиями) - просто вручную скопировать проект, изменить одну константу, переименовать пакет и компилировать/экспортировать каждый раз, когда я отправляю. Однако это кажется довольно «базовым» и, конечно, не выглядит профессиональным (по сравнению с настройкой/целевым решением сборки iPhone/xCode)
Каким будет наилучший подход (требующий минимального количества изменений и при этом стабильный и простой в использовании)?
Большое спасибо!
РЕДАКТИРОВАТЬ
Для всех, кто попробовал решение Тима - оно работает нормально, однако я столкнулся с проблемой с пользовательскими атрибутами.
Проверьте это: Как решить проблемы с библиотеками Android. настраиваемые атрибуты и переназначение имен пакетов во время сборки? это решит проблему с библиотеками