使用Jenkins构建android gradle项目失败

时间:2013-07-09 10:48:15

标签: android jenkins gradle

我正在尝试在运行OSX的计算机上设置Jenkins,但我遇到了问题。

当我尝试使用我的默认用户帐户构建项目时,一切正常,但是一旦尝试通过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

项目'libraries:actionbarsherlock'的build.gradle如下所示:

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']
        }
    }
}

据我所知,应通过Android SDK Manager安装的本地maven存储库满足对com.android.support:support-v4:13.0.0的依赖性。正如我所说,这在我的用户帐户上构建时有效,但在尝试使用Jenkins构建时似乎失败了。

更新

我能够通过检查android-sdk文件夹的用户权限来解决此问题。问题似乎是,当jenkins用户对android sdk根文件夹具有读取和写入权限时,它缺少访问通过android sdk管理器安装的内容的权限。

3 个答案:

答案 0 :(得分:51)

  • 转到Jenkins>管理Jenkins>配置系统
  • 检查“环境变量”
  • 添加名称:ANDROID_HOME,值 - >你的android sdk dir
  • 点击“添加”
  • 滚动向下点击保存

答案 1 :(得分:5)

我现在能够为自己解决这个问题。

步骤:

  1. 在项目的根目录中创建一个名为“local.properties”
  2. 的文件
  3. 只在文件中添加以下内容: sdk.dir = /家用/耐性/机器人工作室/ SDK
  4. 然后重建,它应该工作。这是在Fedora Linux上供参考。

答案 2 :(得分:1)

看起来你的jenkins盒子上的Android SDK没有安装“Android Support Repository”组件。