Gradle 无法在 Android Studio 中解析依赖项。

9
我正在与3个同事使用Android Studio开发Android应用程序,最近我们的项目无法再次构建。我们都有不同版本的Android Studio(我的是0.2.8),但无论哪个版本都无法编译。我们找不到问题的原因,因为对于我们所有人来说,它发生在不同的时间(奇怪的是,对于相同的项目版本,该应用程序在我的Android Studio上构建而在我的同事的设备上却无法构建)。
有时,当Android Studio打开我的项目时,它能够编译我的项目,但是当我尝试运行该应用程序时就会失败。但大多数情况下,Android Studio在打开我的项目时无法编译我的项目。
我没有得到任何错误来帮助我理解这个问题,只有后台任务的消息标题可以给我一个提示:Gradle: Resolve dependencies ':_DebugApk'。这个后台任务永远不会完成,它只会一直加载到时间结束。
我不知道它是否与build.gradle文件有关,但是在这里是该文件,以防您找出了什么问题。
home = System.getenv("ANDROID_HOME")

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

repositories {
    mavenCentral()
    maven {
        url "http://maven.hq.couchbase.com/nexus/content/repositories/releases/"
    }

    maven {
        url "http://files.couchbase.com/maven2/"
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
    compile 'com.google.android.gms:play-services:3.1.36'
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.couchbase.cblite:CBLite:1.0.0-beta'
    compile 'com.couchbase.cblite:CBLiteEktorp:1.0.0-beta'
    compile 'com.couchbase.cblite:CBLiteJavascript:1.0.0-beta'

    instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1"

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

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')




        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

tasks.withType(Compile) {
    options.encoding = 'UTF-8'
}

Android Studio在解决依赖关系时会做什么?什么原因会导致它像这样挂起?
编辑:
执行gradle build --info时,它给出了以下错误信息:
失败:任务':compileDebug'执行失败。
无法找到系统Java编译器。确保您已安装JDK(而不仅仅是JRE)并配置了JAVA_HOME系统变量,使其指向相应的目录。
编辑2:
Android Studio再次无法编译我的项目。现在它停在Gradle: Resolve dependencies ':_ReleaseApk'处。当我尝试通过命令行使用gradle编译时,它可以正常工作,没有任何错误......
编辑3:
再一次,Android Studio在编译我的项目时失败。现在它停在Gradle: Resolve dependencies ':_DebugCompile'处。当我尝试通过命令行使用gradle编译时,它可以正常工作,没有任何错误......天啊,我讨厌Gradle!

2
你能否通过gradle命令行构建它?我认为这不是Android Studio的问题。尝试运行gradle build --info。 - sgarman
我在我的帖子中添加了结果。 - Raphael Royer-Rivard
遇到了和上一个一样的错误。它就卡在那里了。开始觉得Android Studio还太年轻,不值得花费这么多精力... - Danail
3个回答

2

2
在添加了JAVA_HOME变量之后,我能像往常一样编译我的应用程序。
编辑:
当我遇到另一个错误(请参见问题的EDIT 2)时,我只需删除项目的构建文件夹,就可以再次工作。
编辑2:
它再次停止工作(请参见问题的EDIT 3)。

0
在我的情况下,其中一位开发人员没有在.gitignore文件中包含gradle.properties,这是导致卡住的原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接