У меня есть приложение для Android, которое поставляется в двух формах: пробная версия и платная «профессиональная» версия. Две версии сосуществуют в Android Market и имеют разные имена пакетов (назовем их com.app.trial и com.app.pro). У них одна и та же кодовая база. Когда мне нужно переключаться между пробной и профессиональной сборкой в Eclispe, мне приходится тратить не менее 20 минут каждый раз на редактирование кода, чтобы он создавал правильную версию. Моя процедура выглядит следующим образом:
Переименуйте имя пакета в AndroidManifest.xml (также переименуйте приложение versionName и versionCode).
Щелкните имя основного пакета «com.app.pro» (если pro была последней сборкой, а теперь Я хочу сделать пробную сборку) и выберите Refactor-> Rename (отметьте «Обновить ссылки» и «Переименовать подпакеты») и позвольте Eclipse выполнить переименование.
После этого наступает сложная часть: в моем коде многие файлы все еще импортируются "старое" имя пакета "com.app.pro" вместо автоматического изменения на "com.app.trial". В некоторых случаях Eclipse добавляет эти ссылки во время переименования, без видимых причин (в данном файле Java нет ссылок на этот конкретный пакет). Мне нужно вручную отредактировать все экземпляры.
У меня вопрос:
Как сделать эту процедуру менее трудоемкой? Я также использовал NetBeans, где есть удобная поддержка #ifdefs (также известных как Abilities), которая действительно упрощает переключение между сборками. К сожалению, Eclipse не поддерживает (по крайней мере, встроенную поддержку) для #ifdefs.
Мы будем очень благодарны за любые предложения.
PS Для справки я использую Eclipse Ganymede версии 3.4.2, но также пробовал более новую версию , он делает то же самое.