Сборка приложения для Android в Vexor CI

Всем привет, сегодня я покажу, как составить конфиг для Vexor CI, чтобы автоматизировать сборку Android-приложения.

И начну с самого конфига:

Предопределенной конфигурации для Android в Vexor CI сейчас нет, поэтому, в настройках проекта я выбрал Scala, как наиболее близкое, а в конфиге указал, что целевой язык — Java.

Дальше начинается интересное — cache. Vexor CI умеет после окончания работы Job’а запаковывать указанные пути в архив и разворачивать этот архив при следующей сборке. Чем и воспользуемся, чтобы не скачивать Android SDK и Gradle каждый раз заново — сильно выиграем во времени сборки.

Пакеты lib32stdc++6 и lib32z1 нужны для работы утилиты aapt из SDK.

Длинная строка в install проверяет наличие закешированного Android SDK, и если он отсутствует, то скачивается архив с SDK, распаковывается и обновляется с установкой пакетов. Список всех доступных пакетов можно посмотреть вот так:

./android-sdk-linux/tools/android list sdk --extended -all

И наконец, script просто запускает сборку в Gradle.