11

我正在尝试在运行 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']
        }
    }
}

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

更新

我可以通过检查我的 android-sdk 文件夹的用户权限来解决这个问题。问题似乎是,虽然 jenkins 用户对 android sdk 根文件夹具有读写权限,但它缺乏访问通过 android sdk 管理器安装的内容的权限。

4

3 回答 3

52
  • 转到 Jenkins > 管理 Jenkins > 配置系统
  • 检查“环境变量”
  • 添加名称:ANDROID_HOME, value -> your android sdk dir
  • 点击“添加”
  • 向下滚动点击保存
于 2013-08-08T20:48:08.830 回答
5

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

脚步:

  1. 在项目的根目录中创建一个名为“local.properties”的文件
  2. 仅在文件中放入以下内容:sdk.dir=/home/patience/android-studio/sdk

然后重建,它应该工作。这是在 Fedora Linux 上供参考的。

于 2013-07-10T16:51:44.597 回答
1

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

于 2013-07-09T17:19:48.493 回答