Подтвердить что ты не робот

Android Studio: Gradle build failed - Выполнение не выполнено для задачи: compileDebugAidl '

После изменения источника и построения с помощью gradle в Android Studio (предварительный просмотр ввода/вывода) AI - 130.677228 сборка не выполняется со следующей ошибкой:

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'.

Во второй раз, когда выполняется сборка, сборка будет успешной.

Использование оболочки gradle с версией 1.6

Это действительно отстой, потому что он делает длинную сборку (без инкрементного) после ее отказа в первый раз.

Есть ли способ не иметь этот отказ?

EDIT включить 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')
    }
}

Ссылка на вопрос о коде Google: https://code.google.com/p/android/issues/detail?id=56158

4b9b3361

Ответ 1

Я не уверен, как это возможно. Похоже, что у вас есть несоответствие между самим плагином Gradle и его зависимостями, которые предоставляют класс WaitableExecutor.

Однако вы упоминаете Gradle 1.5, и это проблема.

Версия плагина 0.3 была совместима с Gradle 1.3-1.4 Новый выпуск версии на прошлой неделе, 0,4 совместим с Gradle 1.6 +

Убедитесь, что вы используете 0.4 и новую версию Gradle.

Ответ 2

Я решил эту проблему, установив buildToolsVersion в мой файл build.gradle в соответствии с последней версией SDK-инструментов Android SDK в менеджере SDK.

Showing Build-tools version 22.0.1 is installed

В моем случае у меня установлена ​​версия Build-tools Android SDK версии 22.0.1, поэтому я установил buildToolsVersion соответственно:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
...

После внесения этого изменения мое приложение нестроит.

Ответ 3

Я столкнулся с той же проблемой "Не удалось выполнить задачу: compileDebugaidl aidl/debug/".

Я видел далее в Gradle Консоль для специфики, и она читается ниже:

Не удалось записать моментальный снимок выходных файлов для задачи "prepareComAndroidSupportAppcompatV72103Library" во время проверки.

Не удалось удалить запись '/Users/..../.../.../..../build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3 'from cache outputFileStates.bin(/Users/..../..../..../. gradle/2.2.1/taskArtifacts/outputFileStates.bin).

Я разрешил его, удалив файл outputFileStates.bin с терминала и разрешив Gradle его воссоздать.

Надеюсь, это поможет кому-то.

Ответ 4

Добавить

compileSdkVersion 17 в ваш файл buid.gradel(см. ниже).

И используйте версию 3 плагина: com.android.tools.build:gradle:0.3 (или выше для будущих вопросов и т.д.)

Изменить: только что созданный проект ссылки. Строки, знаки и т.д. https://github.com/yegdroid/gradle_demo

//
// A basic Android application that follows all the conventions
//
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.3'
    }
}
apply plugin: 'android'

android {
    testBuildType = "debug"

    defaultConfig {
        versionCode = 1
        versionName = "0.1"
        minSdkVersion = 9
        targetSdkVersion = 17


        compileSdkVersion 17
        buildConfig "private final static boolean DEFAULT = true;", \
                    "private final static String FOO = \"foo\";"
    }

    buildTypes {
        debug {
            packageNameSuffix = ".debug"

            buildConfig "private final static boolean DEBUG2 = false;"
        }
    }

    aaptOptions {
        noCompress "txt"
    }
    sourceSets {
          main {
              manifest {
                  srcFile 'AndroidManifest.xml'
              }
              java {
                  srcDir 'src'
              }
              res {
                  srcDir 'res'
              }
              assets {
                  srcDir 'assets'
              }
              resources {
                  srcDir 'src'
              }
          }
      }
}

Ответ 5

Добавьте код ниже в файл build.gradle. Это работает для меня.

dependencies {

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

}

Ответ 6

Пожалуйста, попробуйте проверить "Использовать опцию по умолчанию gradle обертка" в настройках уровня проекта.

Android Studio → Файл → Настройки → Сборка, выполнение, развертывание → Инструменты сборки → Gradle

Ответ 7

Мне нравится регистрировать мою проблему и решение здесь, так как она почти уместна для опубликованной проблемы: если кто-то споткнутся об ошибке, можно быстро ее преодолеть.

У меня возникла аналогичная проблема с ошибкой выполнить задачу: compileDebugaidl helpl/debug/.. Доступ запрещен...

Я преодолел проблему, удалив каталог сборки и восстановив его снова [я использую Gradle 0.14.4]

Ответ 8

Это работает для меня
изменить в проекте build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        //delete this line below   
        classpath 'com.android.tools.build:gradle:1.0.1'
        //add this line below
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

Ответ 9

Отсутствующая AIDL-проблема - проблема студии google android, чтобы не обновлять основной путь классов зависимостей gradle.

Fix: - открыть файл проекта gradle (нет приложения, проект!) - заменить: classpath 'com.android.tools.build:gradle:1.0.1' или что-то еще с classpath 'com.android.tools.build:gradle:1.3.1'

Если вы не можете скомпилировать время раньше, компилируемый проект, кошка и собака google не спят, и они вносят изменения, обновления, поэтому вам нужно проснуться и внести изменения там, где они забывают. И gradle - это довольно неустойчивый проект и багги.

Ответ 10

Могу ли я увидеть вывод gradle (error filter)? (вкладка gradle, gradle вкладка ) Похоже, что есть проблемы с функциями внутри файлов helpl, которые в основном предназначены для внешнего интерфейса приложения и служб. Etc для передачи данных в виджет или для передачи данных между двумя приложениями. Вторая возможность - две библиотеки с одинаковой структурой помощи, только одна функция отличается, чем одна, или вы используете одну и ту же библиотеку дважды. Еще одна причина, по которой я увидел это сообщение