Gradle无法解析Android Studio中的依赖项

时间:2013-11-26 22:30:12

标签: android gradle android-studio

我正在Android Studio上开发Android应用程序,有3个同事,最近,我们的项目无法再构建。我们都有不同版本的Android Studio(我的是0.2.8)并且它无法在所有版本上进行编译。我们无法找到导致问题的原因,因为它发生在我们所有人的不同时刻(奇怪的是,使用相同的项目版本,应用程序是在我的Android Studio上构建而不是在我的同事之上)。 / p>

有时,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'。

         
        

    找不到System Java Compiler。确保已安装JDK(而不仅仅是JRE)并将JAVA_HOME系统变量配置为     指向相应的目录。

  •     

  

编辑2:

Android Studio再次无法编译我的项目。现在它停在Gradle: Resolve dependencies ':_ReleaseApk'。当我尝试使用gradle通过命令行进行编译时,它可以正常工作......

编辑3:

同样,Android Studio无法编译我的项目。现在它停在Gradle: Resolve dependencies ':_DebugCompile'。当我尝试通过命令行使用gradle进行编译时,它可以正常工作......上帝,我讨厌Gradle!

3 个答案:

答案 0 :(得分:2)

添加JAVA_HOME变量后,我能够像往常一样编译我的应用程序。

编辑:

在我收到另一个错误后(请参阅问题的编辑2),我刚刚删除了项目的build文件夹,它又恢复了工作。

编辑2:

它再次停止工作(请参阅编辑问题3)

答案 1 :(得分:2)

我认为你在编辑3 中遇到的问题与这些行有关:

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

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

其中一些存储库不再处于活动状态,Android Studio在检查时没有超时(疯了,对吧?!)。

这至少是我的问题: Android Studio stuck on "Gradle: resolve dependancies '_debugCompile'" or 'detachedConfiguration1'

答案 2 :(得分:0)

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