Android Studio:Gradle构建失败 - 任务'执行失败':compileDebugAidl'

sea*_*mes 36 android gradle android-studio

在Android Studio(I/O预览)AI - 130.677228中使用gradle更改源和构建后,构建失败并显示以下错误:

Gradle: 
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileDebugAidl'.
> No signature of method: com.android.ide.common.internal.WaitableExecutor.waitForTasks() is applicable for argument types: () values: []
  Possible solutions: waitForAllTasks()
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
Run Code Online (Sandbox Code Playgroud)

第二次运行构建时,构建将成功.

使用版本1.6的gradle包装器

这真的很糟糕,因为它在第一次失败后进行了长时间的构建(非增量).

有没有办法不发生这种失败?

编辑以包含build.gradle

buildscript {

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

task wrapper(type: Wrapper) {
    gradleVersion = '1.6'
}

dependencies {

    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion "Google Inc.:Google APIs:17"
    buildToolsVersion "17"

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

        instrumentTest.setRoot('tests')
    }
}
Run Code Online (Sandbox Code Playgroud)

链接到Google代码问题:https://code.google.com/p/android/issues/detail?id = 56158

bon*_*onh 36

我通过buildToolsVersion在我的build.gradle文件中设置匹配SDK管理器中最新版本的Android SDK Build-tools来解决了这个问题.

显示Build-tools版本22.0.1已安装

在我的情况下,我安装了Android SDK Build-tools 22.0.1版,所以我做了相应的设置buildToolsVersion:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
...
Run Code Online (Sandbox Code Playgroud)

进行更改后,我的应用程序构建得非常顺利.

  • 看起来像1.2.1版本的最新版本的android工作室捆绑了buildToolsVersion 23.0.0 rc1.在稳定版本中发布候选版本并不是一个好主意. (2认同)

Xav*_*het 11

我不确定这是怎么回事.看起来Gradle插件本身与提供WaitableExecutor类的依赖项之间存在不匹配.

但是你提到Gradle 1.5,这是一个问题.

插件版本0.3与Gradle 1.3-1.4兼容.上周发布的新版本0.4与Gradle 1.6+兼容

确保使用0.4和新的Gradle版本.

  • 是的,确实存在问题.它已针对下一个版本修复.我希望尽快发布一些东西. (3认同)