Несмотря на то, что вы настаиваете на том, что речь не идет об упаковке общего кода в библиотеки Android, это как бы так.Вы заявили, что у рынков могут быть разные требования или есть бесплатная и платная версия.В каждом из этих примеров ваши два конечных выходных APK имеют различное поведение и / или ресурсы.Вы можете поместить подавляющее большинство своего кода в общую библиотеку Android, а затем сохранить различия в ваших реальных проектах.
Например, я работал над приложениями, в которых они должны быть выпущены как для AndroidМаркет и Amazon AppStore.Amazon AppStore требует, чтобы, если вы ссылаетесь на рыночную страницу приложения, это должна быть страница Amazon (в отличие от страницы Android Market).Вы можете сохранить URL-адрес в ресурсе в библиотеке и использовать его в своем коде, но затем переопределите этот ресурс в проекте Amazon, чтобы он указывал на соответствующий URL-адрес Amazon.
Если вы правильно его структурируете, вы можете сделатьаналогичные вещи в коде, потому что ваша отправная точка - это объект Application, который вы можете создавать подклассами и выполнять разные действия.
При этом, если вы хотите добавить шаг Ant, который изменяет имя пакета в манифесте, он это просто XML.Это не должно быть сложно изменить в качестве шага предварительной компиляции.