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