Android Studio - 无法构建项目 - GradleConnectionException

10

我使用的是Android Studio 0.3.2版本。自从我升级到此版本后,无法构建现有的项目。

我一直遇到Gradle集成问题。我花费了更多的时间来解决Gradle问题,而不是编写代码。我已经陷入困境一个星期了!

我看到了很多帖子中提到的错误,但是在阅读了几个小时后,这些解决方案都没有对我起作用。

org.gradle.tooling.GradleConnectionException: Could not execute build using Gradle installation 'C:\Users\Adrian.gradle\wrapper\dists\gradle-1.8-all\2kopnp0i5dq014k75fp36m3vd5\gradle-1.8'.: Could not execute build using Gradle installation 'C:\Users\Adrian.gradle\wrapper\dists\gradle-1.8-all\2kopnp0i5dq014k75fp36m3vd5\gradle-1.8'.

我使用Android Studio内置的终端窗口检查了我的Gradle版本。

gradlew --version in terminal window

我的gradle.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="GradleSettings">
    <option name="linkedExternalProjectsSettings">
      <GradleProjectSettings>
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="useAutoImport" value="true" />
      </GradleProjectSettings>
      <GradleProjectSettings>
        <option name="distributionType" value="DEFAULT_WRAPPED" />
        <option name="externalProjectPath" value="D:\Users\Adrian\AndroidStudioProjects\SupaScaleProject" />
        <option name="useAutoImport" value="true" />
      </GradleProjectSettings>
    </option>
    <option name="serviceDirectoryPath" value="$USER_HOME$/.gradle" />
  </component>
</project>

我的 gradle-wrapper.properties 文件

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-all.zip  

我的 build.gradle 文件

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

   repositories {
        mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 18
    }

    buildTypes {
        release {
            runProguard true
            proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
        }

        debug {
            runProguard false
            proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
        }
    }

 }

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile files('libs/achartengine-1.1.0.jar')
}

我在终端中运行了gradlew compileDebug命令,构建成功!

enter image description here

现在我尝试在菜单栏中执行“Build -> Rebuild Project”(在AndroidStudio 0.3.2中):

enter image description here

我真的不知道该怎么办了。如果有帮助的话,将不胜感激。

对了..是的,我删除了.gradle/wrapper/dists/目录下所有文件,并允许Android Studio为我下载它们。

非常感谢。

Adrian

根据@joucks的评论,我注意到http://tools.android.com/knownissues上提到了以下内容:

enter image description here

因此,我将我的build.gradle更改为classpath 'com.android.tools.build:gradle:0.6.3',但结果还是一样。

之后,我将compileSDKVersion更新为19,并将buildToolsVersion更新为"19.0.0",希望能够成功。不幸的是没有作用。是的..在你问之前,我的SDK-Manager已经更新到了最新的文件。


我想提一下,我可以在终端中执行 gradlew compileDebug 命令,然后使用 gradlew installDebug 命令将程序安装到我的设备上,程序可以正常运行。 - Adrian Wreyford
你解决了这个问题吗? - Erik Z
没有,Erik。我卸载了所有的东西,并将我的所有项目移动到0.3.6版本。我仍然遇到一些奇怪的Gradle错误,然后使用了分析、检查代码,并从列表顶部开始逐个排查,直到最终编译成功。我发现有一些在未使用的布局中缺失的可绘制对象(图标),但仍然导致了失败。所以我知道它是BETA版,而且Gradle的错误报告仍然非常差。 - Adrian Wreyford
如果您的问题得到解决,请标记解决方案并回答您的问题。 - Hugo Gresse
4个回答

1

我终于弄清楚了。每次发生这种情况时,重新启动计算机就可以解决问题。"GradleConnectionException"可能是由于Windows中的一些内存泄漏或资源问题引起的。


对我来说,我必须进入命令行并杀掉GradleDaemon进程。重新启动也可以达到同样的效果。 - Jeffrey Blattman

0
在我的情况下,将JDK从1.7 u51降级到1.7 u45后,一切正常。
我猜测Gradle 1.8会检查JDK的修订号。

0

引用Android Studio 0.3.2 发布说明详情:

您还需要确保Gradle使用JDK的1.7版本或更高版本。(以及Android Gradle插件的0.6.1版本或更高版本。)

而且您正在使用 classpath 'com.android.tools.build:gradle:0.6.+'。这可能与此有关。


我正在使用JDK 1.7.0_05,如果我理解正确,0.6.+将使用最新版本,无需安装0.6.1... - Adrian Wreyford
实际上,正确的版本应该是0.6.3,但使用0.6.+将选择3个已在Google错误报告中确认的版本。然而,这并没有解决问题。 - Adrian Wreyford

0

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