android - 使用 Jenkins 构建 android gradle 项目失败

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

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

更新

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

最佳答案

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

关于android - 使用 Jenkins 构建 android gradle 项目失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546303/

相关文章:

android - 如何区分推送通知的 Android 和 IOS Firebase ID?

java - jenkins 构建无法下载依赖项,即使相同的 pom 在本地工作正常

performance - Jenkins 在第一次访问时很慢

android - 局部变量或实例字段名称与正则表达式不匹配 '[a-z]+'

java - 如何通过 Gradle 下载 Spring 和 Hibernate JAR

android - Android Gradle错误-任务 ':app:dexDebug'的执行失败

java - 如何从文本文件读取数据然后用新数据覆盖它?

Android:从图库加载的位图在 ImageView 中旋转

Android HttpResponse - 内容已被消费

jenkins - 查找 Jenkins 节点的 IP