Die Erstellung von Android Studio schlägt fehl, wenn "Task" im Stammprojekt "MyProject" nicht gefunden wurde. "

89

Ich erhalte diese Fehlermeldung, wenn ich versuche, mein Projekt zu erstellen, nachdem ich den Laptop gewechselt und auf Android Studio Version 0.8.2 aktualisiert habe.

FAILURE: Build mit einer Ausnahme fehlgeschlagen.

  • Was schief gelaufen ist: Aufgabe '' nicht im Root-Projekt 'MyProject' gefunden.

  • Versuchen Sie: Führen Sie Gradle-Aufgaben aus, um eine Liste der verfügbaren Aufgaben zu erhalten. Führen Sie die Option --stacktrace aus, um den Stack-Trace abzurufen. Führen Sie die Option --info oder --debug aus, um mehr Protokollausgabe zu erhalten.

BAU FEHLGESCHLAGEN

Hier sind meine Gradle-Dateien:

Top Level settings.gradle

include ':MyProject'

build.gradle in MyProject:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:0.12.+"
    }
}
repositories {
    mavenCentral()
}

android {
    compileSdkVersion 20
    buildToolsVersion "20"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 20
    }
}

dependencies {
    compile 'de.timroes.android:EnhancedListView:0.3.0@aar'
    compile 'com.nineoldandroids:library:2.4.0'
}

Build.gradle der obersten Ebene ist leer

TomRichardson
quelle
Welchen genauen Befehl führen Sie aus?
Opal
@Opal Ich versuche nur zu reinigen und wieder aufzubauen
TomRichardson
Gut, ok. Welchen Befehl führen Sie aus?
Opal
8
Versuchen Sie, Android Studio zu schließen und erneut zu öffnen. Es hat bei mir funktioniert.
Peter
2
Keine Antwort unter diesen vielen ausgewählt ??? Poste dann wenigstens deine Antwort, das wird auch anderen helfen.
kAmol

Antworten:

63

Obwohl es zu spät ist zu antworten, ist dies für Google (die einfachen Anführungszeichen) schwierig und es ist nicht klar, was passiert. Ich habe noch nicht den Ruf, einen Kommentar abzugeben oder nach dem Umfang zu fragen (oder 3 Links zu posten), daher kann diese Antwort etwas langweilig sein.

Um schnell zu antworten, haben Sie möglicherweise mehrere Gradle-Plugins in Ihrem Projekt.

Synchronisieren Sie Gradle Wrapper und Plugins

Mein Problem schien mit einer beschädigten IML-Datei zu beginnen. Android Studio (zwischen dem Schließen und dem erneuten Öffnen eines Projekts) begann sich zu beschweren, dass eine IML weg war (es war nicht so) und ein Modul gelöscht werden sollte, was ich ablehnte. Es blieb bestehen, ich habe ein Upgrade auf AS 0.8.7 (kanarischer Kanal) durchgeführt und bin beim OP-Problem hängen geblieben (Aufgabe '' nicht im Root-Projekt gefunden). Dies hat Builds komplett blockiert, also musste ich mich in Gradle vertiefen.

Meine Reparaturschritte unter OSX (bitte für Windows anpassen):

  1. Aktualisieren Sie Android Studio auf 0.8.7
    • Einstellungen | Updates | Schalten Sie "Beta Channel" auf "Canary Channel" und führen Sie dann einen Check Now durch.
    • Möglicherweise können Sie dies überspringen.
  2. Überprüfte den Gradle-Wrapper (derzeit 1.12.2; versuchen Sie derzeit nicht, 2.0 zu verwenden).

    • Angenommen, Sie benötigen keine bestimmte Version, verwenden Sie die neueste unterstützte Distribution

      $ vi ~/project/gradle-wrapper.properties ... distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

    • Dies kann in Android Studio unter Einstellungen | eingestellt werden Gradle (aber 0.8.7 gab mir 'ungültige Position' Fehler).

    • Der 'Wrapper' ist nur eine Kopie von Gradle für jedes Android Studio-Projekt. Sie können Gradle 2 in Ihrem Betriebssystem und verschiedene Versionen in Ihren Projekten verwenden. Die Android Developer-Dokumente erklären dies hier .
    • Passen Sie dann Ihre build.gradle-Dateien für das Plugin an . Die Gradle-Plugin-Version muss für das gesamte Projekt mit der Distributions- / Wrapper-Version kompatibel sein. Da die Dokumentation zu Tools (tools.android.com/tech-docs/new-build-system/user-guide#TOC-Requirements) etwas veraltet ist, können Sie die Plugin-Version zu niedrig einstellen (z. B. 0.8.0) und Android Studio gibt einen Fehler mit dem für den Wrapper akzeptablen Bereich aus.

Beispiel: In build.gradle haben Sie dieses Plugin:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.+"
}

Sie können versuchen, es auf die genaue Version umzustellen, wie folgt:

dependencies {
    classpath "com.android.tools.build:gradle:0.12.2"
}

und (nachdem Sie aufgezeichnet haben, von welcher Version Sie jeweils wechseln) zu überprüfen, ob jede build.gradle-Datei in Ihrem Projekt dieselbe Plugin-Version enthält. Das Beibehalten des "+" sollte funktionieren (für 0.12.0, 0.12.1, 0.12.2 usw.), aber mein Build war erfolgreich, als ich die Volley-Bibliothek von Google (ursprünglich gradle: 0.8. +) Und mein Hauptprojekt (ursprünglich 0.12) aktualisiert habe. +) zur festen Version: gradle: 0.12.2.

Andere Schecks

  1. Stellen Sie sicher, dass sich nicht zwei Android-Anwendungsmodule im selben Projekt befinden

    • Dies kann mit der endgültigen Lösung (verschiedene Gradle-Versionen oben) interagieren und Ursachen verursachen

      UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)

    • Um dies zu überprüfen, erstellen Sie | Make Project sollte kein Fenster öffnen, in dem Sie gefragt werden, welche Anwendung Sie erstellen möchten.

  2. Machen Sie Ihre Caches ungültig
    • Datei | Caches / Neustart ungültig machen (stackoverflow.com/a/19223269/513413)
  3. Wenn Schritt 2 nicht funktioniert, löschen Sie ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/).
    • Beenden Sie Android Studio
    • $ rm -rf ~ / .gradle /
    • Starten Sie Android Studio und synchronisieren Sie:
      • Werkzeuge | Android | Projekt mit Gradle-Dateien synchronisieren
    • Wiederholen Sie diese gesamte Sequenz (beenden ... synchronisieren) einige Male, bevor Sie aufgeben.
  4. Reinigen Sie das Projekt
    • Build | Projekt reinigen

Wenn Sie dies sehen ...

In meinen letzten Builds sah ich immer wieder schreckliche Fehler (Seiten mit Ausnahmen), aber innerhalb von Sekunden wurden die Nachrichten gelöscht, der Build war erfolgreich und die App wurde bereitgestellt. Da ich es nie erklären konnte und die App funktionierte, habe ich nie bemerkt, dass ich zwei Gradle-Plugins in meinem Projekt hatte. Ich denke, die Gradle-Plugins haben sich gegenseitig bekämpft. einer stürzte ab, der andere verlor seinen Zustand und meldete den Fehler.

Wenn Sie Zeit haben, hat mir das einstündige Video "Eine sanfte Einführung in Gradle" (www.youtube.com/watch?v=OFUEb7pLLXw) wirklich geholfen, mich den Gradle-Build-Dateien, Aufgaben, Build-Entscheidungen usw. zu nähern.

Haftungsausschluss

Ich lerne diesen ganzen Stack auf einem fremden Betriebssystem, nachdem ich eine andere Karriere gemacht habe ... alles zur gleichen Zeit und unter Druck. In den letzten Monaten habe ich jede Wand getroffen, von der ich glaube, dass Android sie hat. Ich war schon oft hier und dies ist mein erster Beitrag. Ich dachte, dies sei eine schwierige Lösung, und entschuldige mich aufrichtig, wenn die Qualität meiner Antwort die Schwierigkeit widerspiegelt, die ich hatte, sie zu erreichen.

ǝɲǝɲbρɯͽ
quelle
Tolle Antwort, nichts, wofür man sich entschuldigen müsste, und danke für den YouTube-Link
Sabuncu
Danke dafür. Schritt 3 in "Andere Schecks" war das, was es für mich getan hat:$ rm -rf ~/.gradle/
String
24

Laden Sie das System-Image (der Ziel-Android-Ebene Ihres Projekts) vom SDK-Manager für das von Ihnen importierte Projekt herunter.

Dieser Fehler tritt auf, wenn Sie das Ziel-SDK Ihres Android-Projekts nicht im SDK-Ordner installiert haben

für zB. Die SDK-Zielstufe Ihres importierten Projekts ist möglicherweise Android-19, und auf SDK-Ordner-> System-Images ist möglicherweise Android-21 installiert. Sie müssen also das Android-19-Systemabbild und andere Dateien vom SDK-Manager herunterladen oder es kopieren und einfügen, wenn Sie das Systemabbild haben.

Ankit Bansal
quelle
1
Dies hat das Problem für mich behoben. Ich habe auch eine gelbe Warnung "Gradle-Projektsynchronisierung fehlgeschlagen" in AS festgestellt. Als ich in das Nachrichtenfenster schaute, enthielt sie einen Hyperlink, um das fehlende Ziel-SDK mit wenigen Klicks zu installieren.
Mr. Bungle
13

Entfernen:

<facet type="android" name="Android">
    <configuration />
</facet>

in deiner IML-Datei. Das ist für mich in Ordnung.

https://plus.google.com/+AlexRuiz/posts/49hP3V9GSGe

Toni
quelle
Dies gilt nicht für ein Gradle-Projekt, oder? Meine project.xml enthält<facet type="java-gradle" name="Java-Gradle">...
Trinimon
9

Dies ist mir kürzlich passiert, als ich ein Android Studio-Projekt geschlossen und ein anderes Eclipse-Projekt importiert habe. Es schien ein Fehler in Android Studio zu sein, bei dem einige Gradle-Einstellungen aus zuvor geöffneten Projekten beibehalten und dann im neuen Projekt verwirrt wurden.

Die Lösung war äußerst einfach: Schließen Sie das Projekt und fahren Sie Android Studio vollständig herunter, bevor Sie es erneut öffnen und dann das neue Projekt importieren / öffnen. Von da an läuft alles reibungslos.

rehan
quelle
4

Einfache Lösung für mich war

  1. Erstellen> Projekt bereinigen
  2. Starten Sie Android Studio neu
Holangun
quelle
3

In meinem Fall wurde das Problem durch Festlegen der Gradle-Version wie bei der Android-Plugin-Version unter Datei-> Projektstruktur-> Projekt behoben.

etwas
quelle
3

Anscheinend hat dieser Fehler mehrere Ursachen. Hier ist, was es für mich behoben hat.

Ich habe den Build-Befehl folgendermaßen ausgeführt:

./gradlew :testapp: build

Das Ausführen ohne Speicherplatz hat das Problem behoben:

./gradlew :testapp:build
David
quelle
3

Ich habe diesen Fehler erhalten, als ich von einem Git-Zweig zu einem anderen gewechselt bin und dann versucht habe, "Clean Project" auszuführen. Ich habe acknach dem Aufgabennamen gesucht und ihn in einer IML-Datei gefunden.

Meine Lösung bestand darin, die IML-Datei des Projekts durch Klicken auf (im Hauptmenü) Extras> Android> Projekt mit Gradle-Dateien synchronisieren neu zu generieren. ( Dank dieser Antwort .)

Josh
quelle
2

Wenn Sie zwei Fenster von Android Studio geöffnet haben und versuchen zu kompilieren, kann dieses Problem manchmal auftreten. Wenn ich ein unterstütztes Google Cloud Endpoint-Modul kompilierte, das nicht in ein Projekt eingebettet war, sondern von verschiedenen Android Studio-Projekten gemeinsam genutzt wurde, und wenn mehr als eine Instanz geöffnet war, trat dieser Fehler für mich auf. Sobald Sie jedoch andere Fenster schließen, ist alles in Ordnung. Manchmal müssen Sie Android Studio möglicherweise komplett neu starten.

Mohammed Mukhtar
quelle
2

Ich habe dieses Problem, weil der Android SDK-Pfad nicht gefunden werden konnte. Ich habe eine local.propertiesDatei damit oder eine ANDROID_HOMEUmgebungsvariable damit vermisst .

Morten Holmgaard
quelle
Guter Mann, das Gleiche hier. ANDROID_SDK zu meinem ~ / .bash_profile hinzugefügt und es hat funktioniert
Gary O 'Donoghue
1

Stellen Sie sicher, dass Ihre Gradle-Dateien die neuesten Werte enthalten. Zum Zeitpunkt dieses Schreibens:

  • buildToolsVersion "21.1.2"

  • Abhängigkeiten {Klassenpfad 'com.android.tools.build:gradle:1.1.0'}

IgorGanapolsky
quelle
1

Noch eine Lösung für das gleiche Problem:

Dies passierte mir jedes Mal, wenn ich ein Eclipse-Projekt mit dem Assistenten (Studio-Version 1.3.2) in Studio importierte.

Was ich ganz zufällig fand, war, dass das Beenden des Android-Studios und das anschließende Neustarten des Studios das Problem beseitigte.

Frustrierend, aber ich hoffe, das hilft jemandem ...

Mick
quelle
1
  1. Öffnen Sie die Eingabeaufforderung
  2. Gehen Sie dann über die Eingabeaufforderung in Ihren Projektordner
  3. Geben Sie gradlew build and run
Krishan
quelle
1

Problem

Ich habe speziell den "[module_name]:prepareDebugUnitTestDependencies" task not foundFehler bekommen, jedes Mal, wenn ich gradle build ausgeführt habe. Dies geschah mir nach dem Update meines Android Studio auf 3.0.0.

Ermittlung

Ich hatte zuvor dem gradle-basierten Compiler Befehlszeilenoptionen hinzugefügt, die Sie unter Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Compiler -> Befehlszeilenoptionen finden . Insbesondere hatte ich eine Reihe von Aufgaben ausgeschlossen, einschließlich der oben genannten Aufgabe. Während dies bei der vorherigen stabilen Version (2.3 zu diesem Zeitpunkt) gut funktionierte, scheint dies der Grund für den Build-Fehler zu sein.

Lösung

Dies ist eine von vielen möglichen Lösungen. Stellen Sie sicher, dass Sie über die richtigen Befehlszeilenoptionen verfügen, die in den Einstellungen unter Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Compiler -> Befehlszeilenoptionen angegeben sind , und dass keine von ihnen dieses Problem verursacht.

In meinem Fall habe ich den Ausschluss dieser Aufgabe (und anderer Aufgaben, die verwandt zu sein schienen) entfernt, die nicht verwandten Aufgaben ausgeschlossen und es hat funktioniert!

As
quelle
0

Legen Sie den Pfad des Stammordners fest und führen Sie nach dem Ausführen des folgenden Befehls den folgenden Befehl aus

ex : cd C:\Users\maha\Documents\gradle\gs-gradle-master\initial
Maha
quelle
0

Das habe ich getan

  1. Entfernen Sie den .idea-Ordner

    $ mv .idea .idea.bak

  2. Importieren Sie das Projekt erneut

Ken Ratanachai S.
quelle
0

Ich entferne / benenne den .gradleOrdner in c:\users\Myuser\.gradleund starte Android Studio neu und arbeite für mich

Ashkufaraz
quelle
0

Anscheinend wird dieses Problem von Android Studio in den verschiedenen Situationen verursacht, aber der Grund ist ein Build-Fehler beim Importieren eines vorhandenen Projekts in Android Studio.

In meinem Fall habe ich mein vorhandenes Projekt importiert, in das ich nur wenige Build-Tools installieren sollte, und schließlich wurde die Build-Konfiguration mit einem Fehler durchgeführt. In diesem Fall führen Sie einfach die folgenden Schritte aus

  1. Schließen Sie das aktuelle Projekt
  2. Datei> Neu> Projekt importieren (Verwenden Sie nicht das zuletzt geöffnete Projekt)

    Hinweis: Ich bin sicher, dass diese Art von Fehler nicht im Quellcode auftritt, als dies beim Importieren des Projekts auftrat .
Deva
quelle
0

In meinem Fall stoße ich auf das Problem, dass die Kompilierungsoptionen in Android Studio "Stacktrace" sind. Ändern Sie Stacktrace in --stacktrace , das Problem wurde behoben.

Geben Sie hier die Bildbeschreibung ein

timyau
quelle
0

Ich habe dieses Problem gelöst. Sie müssen nur eine Datei im Android-Ordner erstellen

Gehen Sie Android-Ordner

Erstellen Sie die Datei local.properties

Fügen Sie dann einfach diesen Code in die Datei local.properties ein: -

Wenn Sie ein MacBook verwenden, ist sdk.dir = / Users / USERNAME / Library / android / sdk

Wenn Sie Windows verwenden, ist sdk.dir = C: \ Users \ USERNAME \ AppData \ Local \ Android \ sdk

Wenn Sie Linux verwenden, ist sdk.dir = / home / USERNAME / Android / sdk

Wenn Sie wissen möchten, was Ihr System USERNAME ist, verwenden Sie einfach den Befehl für Mac whoami

und dann einfach den Befehl react-native run-android erneut ausführen

Vielen Dank :)

Usman Entwickler
quelle