Использование Jenkins для сборки проекта android gradle не выполняется

Я пытаюсь настроить Jenkins на компьютер с OSX, и у меня проблема.

Когда я пытаюсь создать проект с моей учетной записью по умолчанию, все работает нормально, но как только я пытаюсь построить через Jenkins, сборка завершится неудачно со следующим выходом:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':Project'.
> Failed to notify project evaluation listener.
    > A problem occurred configuring project ':libraries:actionbarsherlock'.
        > Failed to notify project evaluation listener.
            > Could not resolve all dependencies for configuration ':libraries:actionbarsherlock:compile'.
                > Could not find com.android.support:support-v4:13.0.0.
                  Required by:
                      workspace.libraries:actionbarsherlock:unspecified

My build.gradle для библиотек проекта: actionbarsherlock выглядит следующим образом:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.2'
    }
}
apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

Насколько я знаю, зависимость от com.android.support:support-v4:13.0.0 должна быть удовлетворена через локальный репозиторий maven, установленный через Android SDK Manager. Как я уже сказал, это работает при создании моей учетной записи пользователя, но, похоже, она не работает при попытке построить с Дженкинсом.

UPDATE

Мне удалось решить эту проблему, установив права пользователя на мою папку android-sdk. Проблема заключалась в том, что, хотя пользователь jenkins читал и записывал разрешения в корневую папку Android sdk, у него не было прав доступа к материалам, установленным через диспетчер sdk android.

Ответ 1

Я смог решить эту проблему только сейчас для себя.

Шаги:

  • Создайте файл в корневом каталоге вашего проекта под названием "local.properties"
  • Поместите в файл только следующее: sdk.dir =/дом/терпение/Android-студия/SDK

Затем перестройте, и он должен работать. Это было для Fedora Linux для справки.

Ответ 2

  • Перейти к Jenkins > Управление Jenkins > Настройка системы
  • Отметьте "Переменные среды"
  • добавить имя: ANDROID_HOME, значение → ваш android sdk dir
  • нажмите "добавить"
  • СКАЧАТЬ СКАЧАТЬ СКАЧАТЬ

Ответ 3

Похоже, что Android SDK в вашем блоке jenkins не содержит установленного компонента "Android Support Repository".