У меня есть приложение для Android, которое поставляется в двух формах: пробная версия и платная "про" версия. Две версии сосуществуют в Android Market и имеют разные имена пакетов (позвоните им com.app.trial и com.app.pro). Они имеют одну и ту же базу кода. Когда мне приходится переключаться между пробными и про-сборками в Eclispe, мне приходится тратить не менее 20 минут каждый раз на редактирование кода, чтобы он мог создать правильную версию. Моя процедура выглядит так:
-
Переименуйте имя пакета в AndroidManifest.xml(также переименуйте appName version и VersionCode).
-
Нажмите на имя основного пакета "com.app.pro" (если pro была последней строкой, и теперь я хочу создать пробную сборку) и выберите "Refactor- > Rename" (отметьте "Обновить ссылки" и "Переименовать" subpackages ') и пусть Eclipse выполняет переименование.
-
После этого получается сложная часть: в моем коде многие файлы по-прежнему импортируют "старое" имя пакета "com.app.pro" вместо автоматического изменения на "com.app.trial". В некоторых случаях Eclipse добавляет эти ссылки во время переименования, без видимых причин (ссылки на этот конкретный пакет из данного файла Java отсутствуют). Мне нужно вручную редактировать все экземпляры.
Мой вопрос:
Как сделать эту процедуру менее трудоемкой? Я также использую NetBeans, где есть удобная поддержка #ifdefs (aka Abilities), которая действительно делает переключение между сборками ветерок. У Eclipse к сожалению нет поддержки (по крайней мере, нет поддержки buil-in) для #ifdefs.
Приветствуются любые предложения.
P.S. Для справки я использую Eclipse Ganymede версии 3.4.2, но также пробовал более новую версию, он делает то же самое.