Переключение пробной версии и pro с помощью приложений Android в Eclipse: как сделать это менее болезненным?

У меня есть приложение для 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, но также пробовал более новую версию, он делает то же самое.

Ответ 1

Отличным решением для этого является разделение ваших приложений на три проекта:

  • Один проект библиотеки, который будет содержать весь общий код
    • на самом деле, создание двух версий (lite и paid) одного приложения является одним из распространенных сценариев, о которых говорит эта страница; -)
  • Один проект для пробной версии,
  • и один проект для версии pro.

Каждая пробная и про-версия будет:

  • Ссылка на проект библиотеки (содержащий почти весь код)
  • Определите, что конкретно относится к пробной версии или про версии (например, манифест, некоторые строки, некоторый дополнительный код,...)

Таким образом, создание пробной версии или про-версии так же просто, как создание одного проекта или другого: ничего не нужно менять!


Несколько ссылок, которые могут помочь: