Поиск по сайту:

Как создавать приложения для Android с Jenkins


В этой статье Jenkins будет настроен для создания приложений для Android. Jenkins уже должен быть установлен, поэтому, если он еще не установлен, сначала выполните приведенные здесь шаги. В этой статье я предполагаю, что ваш проект использует систему управления версиями, такую как Git или Subversion. В основном я буду говорить о новой системе сборки под названием Gradle, но эту статью также можно использовать для настройки сборки Ant.

Установка необходимого программного обеспечения

Для начала необходимо установить Android SDK. Чтобы найти место загрузки, посетите страницу загрузки Android SDK. Затем нажмите Загрузить для других платформ и скопируйте ссылку на версию для Linux (только SDK Tools).

После того, как вы скопировали ссылку, переключитесь на сеанс SSH. CD в /opt и загрузите Android SDK:

cd /opt
wget <link you copied here>

На момент написания должна быть выполнена следующая команда:

wget http://dl.google.com/android/android-sdk_r22.3-linux.tgz

Затем разархивируйте файл:

tar zxvf <filename of the just downloaded file>

Теперь вы можете удалить файл, который вы только что скачали:

rm <filename of the just downloaded file>

Теперь необходимо установить некоторые переменные среды. Отредактируйте /etc/profile.d/android.sh (nano /etc/profile.d/android.sh) и добавьте следующее:

export ANDROID_HOME="/opt/android-sdk-linux"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

Затем перезагрузите файл:

source /etc/profile

Если вы собираетесь использовать Git, также установите Git:

sudo apt-get install git-core

Настройка Android SDK

Для сборки вашего проекта Android SDK потребуется несколько пакетов. Во-первых, обновите сам SDK (необходимо принять несколько лицензий):

android update sdk --no-ui

При этом будут установлены все версии Android, так что это будет довольно долго. Прочтите дополнительную информацию, если вы не хотите устанавливать все пакеты.

Если вы хотите установить только определенные части, дополнительная информация об обновлении SDK доступна в этом вопросе StackOverflow.

Пакеты, которые вам, скорее всего, понадобятся, устанавливаются с помощью следующей команды (замените \19 в android-19 самой последней версией Android SDK):

android update sdk -u --filter platform-tools,android-19

Однако при этом не будут установлены инструменты сборки, необходимые для Gradle. Для этого выполните следующую команду:

android list sdk --all

В этом списке найдите первый элемент Android SDK Build-tools, версия xx.xx.xx. Запомните число, указанное перед элементом, и выполните следующее:

android update sdk -u --all --filter <number>

Также сделайте это для репозитория поддержки Android и библиотеки поддержки Android.

Если вы знаете, что ваш проект будет использовать определенную версию инструментов сборки, найдите этот элемент в списке. Это можно увидеть в файле build.gradle как buildToolsVersion:

android {
	buildToolsVersion "18.1.1"
	compileSdkVersion 18
}

Также установите соответствующую версию платформы, которую можно увидеть в build.gradle как compileSdkVersion.

Теперь, чтобы Android SDK был доступен Jenkins, выполните следующее:

sudo chmod -R 755 /opt/android-sdk-linux

Также, если вы используете 64-битную ОС, установите 32-битные библиотеки:

sudo apt-get install ia32-libs

Затем перезагрузите дроплет:

sudo shutdown -r now

Настройка вашего Android-проекта

Если ваш проект все еще собирается в Eclipse, необходимо создать скрипт сборки. Самый простой вариант — сделать это прямо из Eclipse, выбрав «Файл» -> «Экспорт», затем выбрав «Android» -> «Создать файлы сборки Gradle». Затем выберите проект и нажмите «Готово». Это должно создать проект Gradle, который может быть создан Дженкинсом.

Если вы не хотите использовать Gradle, можно использовать Apache Ant. Вы можете пропустить этот шаг, если вы не знаете, что это такое, или когда экспорт проекта Gradle завершается с ошибкой. Единственный необходимый шаг — выполнить следующую команду на ПК с установленным Android SDK:

android update project -p .

Настройка Дженкинса

Дженкинс также необходимо настроить. Во-первых, необходимо установить JDK. Для этого посетите Manage Jenkins -> Configure System. Затем найдите JDK и нажмите «Добавить JDK». Вам необходимо иметь учетную запись Oracle. Чтобы ввести свои учетные данные, нажмите Пожалуйста, введите свое имя пользователя/пароль в разделе JDK. Если у вас его нет, перейдите по ссылке на следующем экране. Когда вы введете их, вернитесь к конфигурации JDK. Введите имя — я рекомендую назвать его в честь версии Java. Затем установите флажок Установить автоматически и выберите самую последнюю версию Java SE Development Kit. Это должно установить JDK позже.

Если вы используете Ant, выполните те же действия в разделе Ant.

Теперь посетите «Управление Jenkins» -> «Управление плагинами» -> «Доступно». Проверьте следующие плагины и нажмите «Установить без перезагрузки»:

  • Плагин Gradle (не требуется при использовании Ant)
  • Плагин Git (при использовании Git)
  • Плагин эмулятора Android (если вы хотите использовать эмулятор)

Это автоматически установит несколько других плагинов. Если вы собираетесь использовать Gradle, выполните те же шаги, что и для JDK, чтобы автоматически установить Gradle. На момент написания вам понадобится Gradle 0.9. Это не требуется, если вы используете оболочку Gradle, т. е. у вас есть файл gradlew в вашем проекте, который зарегистрирован в системе управления версиями.

Настройка задания

Теперь задание можно настроить. Нажмите «Новая работа», дайте ей имя и выберите «Создать проект программного обеспечения в свободном стиле». Затем нажмите ОК. В разделе «Управление исходным кодом» выберите систему контроля версий, которую использует ваш проект, и предоставьте информацию. Затем в разделе Build добавьте скрипт Invoke Gradle, если используете Gradle, и Invoke Ant, если используете Ant. Заполните все параметры. Для Gradle это будут наиболее вероятные параметры:

Это создаст проект, но файлы APK еще не будут сохранены. Чтобы настроить это, добавьте действие после сборки под названием Архивировать артефакты. Для файлов в архив введите **/*.apk.

Нажмите «Сохранить», и строительство может начаться! Нажмите «Создать сейчас». JDK будет установлен, и через некоторое время сборка будет завершена! На странице проекта есть рубрика «Последние успешные артефакты». Здесь будут показаны все сгенерированные файлы APK:

Что еще?

Первый проект Android был создан на вашем экземпляре Jenkins. Поздравляем!

Экземпляр Jenkins может содержать более 1 задания, поэтому создавайте больше и разрабатывайте больше приложений для Android!

Gradle также может автоматически подписывать приложения, но эта конфиденциальная информация должна храниться в файле build.gradle, что не рекомендуется. Это пример полного build.gradle, который можно использовать в сочетании с Jenkins:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    signingConfigs {
        release {
            storeFile file("keystores/release.keystore")
            storePassword "your-keystore-password"
            keyAlias "your-alias"
            keyPassword "your-alias-password"
        }
    }

    buildTypes {
        release {
            zipAlign true
            signingConfig signingConfigs.release
        }
        debug {
            zipAlign true
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.android.support:support-v4:19.0.0'
}

Прислано: