Создайте все двоичные файлы для разных магазинов приложений Android за один шаг

В настоящее время я распространяю свои приложения для Android на Android Market, SlideMe и в магазине приложений Amazon. Для Android Market и SlideMe требуется подписанный двоичный файл, а для Amazon — неподписанный. Мне также нужно дифференцировать часть компилируемого кода в зависимости от того, на какое хранилище я ориентируюсь. В настоящее время мне нужно только отображать различную текстовую/ссылочную информацию, но в будущем может возникнуть необходимость изменить такие вещи, как включенные библиотеки.

Я использую Eclipse в Windows для создания своих проектов. Я ищу самый простой способ условно скомпилировать код и создать многоцелевые сборки, необходимые для каждого магазина.

Мне не нужно, чтобы сборки запускались автоматически коммитами, таймерами или чем-то в этом роде. Мне нужно только запускать сборки вручную.

Цените любые предложения.


person Alex    schedule 20.04.2011    source источник
comment
Не по теме, как вы оцениваете приложение, чтобы соответствовать странным ценовым требованиям Amazon? :)   -  person Torp    schedule 20.04.2011
comment
Пожалуйста, не уходите от темы. Спросите в отдельной теме.   -  person Alex    schedule 20.04.2011


Ответы (2)


Вам может помочь Jenkins. Он поддерживает параметризованные сборки, а также матричные сборки. Матрица строит многомерные параметризованные построения — вы указываете серию наборов значений, и строится каждая комбинация.

eg:

  • Язык (английский в США, английский в Великобритании, французский)
  • Магазин приложений (Amazon, Android, SlideMe)

Дженкинс построил бы все комбинации вышеперечисленных.

Очевидно, что вам все равно понадобится сценарий сборки Ant, чтобы выполнить тяжелую работу, но я считаю, что Android SDK имеет достаточную поддержку для Ant.

person Rich    schedule 20.04.2011
comment
Рич, я уточнил свой вопрос. Мне не нужно, чтобы сборки запускались автоматически, для чего, по-видимому, и нужен Дженкинс. Я буду запускать сборки вручную. Я никогда не использовал Ant, но разве это не все, что мне нужно для создания целевых сборок? - person Alex; 20.04.2011
comment
На данный момент мне достаточно, чтобы начать. Сначала я создам сценарий Ant, и это в значительной степени решит мою проблему. Я нашел отличное руководство по настройке скрипта Ant здесь: androidengineer.com/2010/06/ - person Alex; 21.04.2011

Вы можете просто настроить сборку на основе Android-плагина Maven для своего apk, которая использует фильтрацию ресурсов и профили для ваших различных конфигураций. Посмотрите пример morseflash в официальном проекте примеров, чтобы увидеть, как это делается в деталях.

После того, как вы настроили профили, вы можете использовать подключаемый модуль maven Invoker, чтобы запустить все это за один проход. И если вы хотите, чтобы это было автоматизировано, просто поставьте сборку на Hudson.

http://code.google.com/p/maven-android-plugin/

http://code.google.com/p/maven-android-plugin/wiki/Samples

http://www.simpligility.com/2010/11/release-version-management-for-your-android-application/

person Manfred Moser    schedule 17.08.2011