it-swarm.com.de

Android Studio: Gradle Build schlägt fehl - Ausführung für Aufgabe ': compileDebugAidl' fehlgeschlagen

Nach Änderungen an Quelle und Erstellung mit gradle in Android Studio (E/A-Vorschau) AI - 130.677228 schlägt der Build mit folgendem Fehler fehl:

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

Beim zweiten Ausführen eines Builds ist der Build erfolgreich.

Verwenden eines Gradle-Wrappers mit Version 1.6

Das ist wirklich zum Kotzen, weil es einen langen Build ausführt (nicht inkrementell), nachdem es das erste Mal fehlgeschlagen ist.

Gibt es eine Möglichkeit, diesen Fehler nicht zu haben?

BEARBEITEN, um build.gradle einzuschließen

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')
    }
}

Link zur Ausgabe in Google Code: https://code.google.com/p/Android/issues/detail?id=56158

36
seanmakesgames

Ich bin mir nicht sicher, wie das möglich ist. Anscheinend besteht eine Abweichung zwischen dem Gradle-Plugin selbst und seinen Abhängigkeiten, die die WaitableExecutor-Klasse bereitstellt.

Sie erwähnen jedoch Gradle 1.5 und dies ist ein Problem.

Das Plugin Version 0.3 war kompatibel mit Gradle 1.3-1.4. Die neue Version Version 0.4 von letzter Woche ist kompatibel mit Gradle 1.6+

Stellen Sie sicher, dass Sie 0.4 und die neue Gradle-Version verwenden.

11
Xavier Ducrohet

Ich habe dieses Problem behoben, indem ich buildToolsVersion in meiner build.gradle - Datei so eingestellt habe, dass sie mit der neuesten Version der SDK-Build-Tools Android im SDK-Manager übereinstimmt.

Showing Build-tools version 22.0.1 is installed

In meinem Fall habe ich die SDK-Build-Tools-Version Android 22.0.1 installiert, also setze ich buildToolsVersion entsprechend:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
...

Nach dieser Änderung wird meine App ohne Ereignisse erstellt.

36
bonh

Ich hatte das gleiche Problem "Aufgabe konnte nicht ausgeführt werden: compileDebugaidl aidl/debug /".

Ich habe weiter in Gradle Console nach den Einzelheiten gesucht und es lautete wie folgt:

Snapshot der Ausgabedateien für die Aufgabe 'prepareComAndroidSupportAppcompatV72103Library' konnte während der aktuellen Überprüfung nicht erfasst werden.

Eintrag '/Users/..../.../.../..../build/intermediates/exploded-aar/com.Android.support/appcompat' konnte nicht entfernt werden -v7/21.0.3 'aus dem Cache outputFileStates.bin (/Users/..../..../..../.gradle/2.2.1/taskArtifacts/outputFileStates.bin).

Ich löste das Problem, indem ich die Datei outputFileStates.bin vom Terminal löschte und Gradle erlaubte, sie neu zu erstellen.

Hoffe es hilft jemandem.

3
Alfred

Fügen Sie den folgenden Code in Ihre build.gradle-Datei ein. Das funktioniert bei mir.

dependencies {

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

}
1
Koushik

Aktivieren Sie in den Einstellungen auf Projektebene die Option "Standard-Gradle-Wrapper verwenden".

Android Studio -> Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Erstellungstools -> Gradle

1
yaircarreno

Hinzufügen:

compileSdkVersion 17 in Ihre buid.gradel-Datei (unten).

Und benutze Version 3 des Plugins: com.Android.tools.build:gradle:0.3 (oder höher für zukünftige Fragen usw.)

Bearbeiten : Referenzprojekt, das ich gerade erstellt habe. Builds, Schilder usw. https://github.com/yegdroid/gradle_demo

 // 
 // Eine grundlegende Android) Anwendung, die alle Konventionen 
 // 
 Buildscript {
 Repositorys {
 mavenCentral () 
} 
 Abhängigkeiten {
 Klassenpfad 'com.Android.tools.build:gradle:0.3'
} 
} 
 Plugin anwenden: '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' 
} 
 Vermögenswerte {
 srcDir 'assets' 
} 
 Ressourcen {
 srcDir 'src' 
} 
} 
} 
} 
1
cbrulak

Ich möchte mein Problem und meine Lösung hier registrieren, da es für das gepostete Problem beinahe relevant ist, dass es schnell behoben werden kann, wenn jemand über den Fehler stolpert.

Ich hatte ein ähnliches Problem mit Fehler beim Ausführen der Aufgabe: compileDebugaidl aidl/debug/.. Zugriff verweigert ...

Ich habe das Problem behoben, indem ich das Build-Verzeichnis gelöscht und erneut erstellt habe. [Ich verwende Gradle 0.14.4.]

Kann ich eine gradle (fehlergefilterte) Ausgabe sehen? (toolwindow gradle, gradle tab) Es scheint ein Problem mit den Funktionen in den Hilfedateien zu geben, die sich hauptsächlich auf die Benutzeroberfläche und die Dienste außerhalb der Anwendung beziehen. Etc, um Daten zum Widget zu übertragen, oder wenn Sie eine Datenübertragung zwischen zwei Anwendungen benötigen. Die zweite Möglichkeit sind zwei Bibliotheken mit derselben Hilfsstruktur, nur eine Funktion ist anders als eine, oder Sie verwenden dieselbe Bibliothek zweimal. Ein weiterer Grund, warum ich neuere mit dieser Nachricht sah

0
Milan Jurkulak

Die fehlende AIDL ist etwas Google Android Studio-Problem, um wichtige Gradle-Abhängigkeiten Klassenpfad nicht zu aktualisieren.

Fix: - Projekt-Gradle-Datei öffnen (keine App, Projekt!) - Ersetzen: Klassenpfad 'com.Android.tools.build:gradle:1.0.1' oder was auch immer mit Klassenpfad 'com .Android.tools.build: gradle: 1.3.1 '

Wenn Sie ein vorheriges kompilierbares Projekt nicht kompilieren können, schlafen die Google-Katzen und -Hunde nicht und nehmen Änderungen und Aktualisierungen vor. Daher müssen Sie aufgeweckt und Änderungen vorgenommen werden, bei denen sie vergessen haben. Und gradle ist ein ziemlich instabiles Projekt und fehlerhaft.

0
Milan Jurkulak

Das funktioniert bei mir
in Ihrem Projekt build.gradle bearbeiten

// 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'
    }
}
0
IloveIniesta