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

У меня есть приложение для Android, которое поставляется в двух формах: пробная версия и платная «профессиональная» версия. Две версии сосуществуют в Android Market и имеют разные имена пакетов (назовем их com.app.trial и com.app.pro). У них одна и та же кодовая база. Когда мне нужно переключаться между пробной и профессиональной сборкой в ​​Eclispe, мне приходится тратить не менее 20 минут каждый раз на редактирование кода, чтобы он создавал правильную версию. Моя процедура выглядит следующим образом:

  1. Переименуйте имя пакета в AndroidManifest.xml (также переименуйте приложение versionName и versionCode).

  2. Щелкните имя основного пакета «com.app.pro» (если pro была последней сборкой, а теперь Я хочу сделать пробную сборку) и выберите Refactor-> Rename (отметьте «Обновить ссылки» и «Переименовать подпакеты») и позвольте Eclipse выполнить переименование.

  3. После этого наступает сложная часть: в моем коде многие файлы все еще импортируются "старое" имя пакета "com.app.pro" вместо автоматического изменения на "com.app.trial". В некоторых случаях Eclipse добавляет эти ссылки во время переименования, без видимых причин (в данном файле Java нет ссылок на этот конкретный пакет). Мне нужно вручную отредактировать все экземпляры.

У меня вопрос:

Как сделать эту процедуру менее трудоемкой? Я также использовал NetBeans, где есть удобная поддержка #ifdefs (также известных как Abilities), которая действительно упрощает переключение между сборками. К сожалению, Eclipse не поддерживает (по крайней мере, встроенную поддержку) для #ifdefs.

Мы будем очень благодарны за любые предложения.

PS Для справки я использую Eclipse Ganymede версии 3.4.2, но также пробовал более новую версию , он делает то же самое.

14
задан antonio 26 March 2011 в 17:28
поделиться