Wie kann man beheben, dass Android Studio beim Ausführen von Gradle-Aufgaben hängen bleibt?

78

Android Studio (Beta) 0.8.6 bleibt hängen, wenn ich versuche, das Projekt zu erstellen / auszuführen und es zu bereinigen. Es reagiert weiterhin, aber die Meldung Gradle: Ausführen von Aufgaben verschwindet nicht (länger als 20 Minuten, wenn ich aufgebe) und die App wird nie ausgeführt.

Folgendes habe ich versucht:

  • Caches / Neustart ungültig machen

  • Beenden erzwingen und neu starten

  • Entfernen Sie es aus den Anwendungen (auf dem Mac) und laden Sie es erneut von der offiziellen Website herunter.

Geben Sie hier die Bildbeschreibung ein

Oleksiy
quelle
2
Versuchen Sie dies, beenden Sie Studio, öffnen Sie das Terminal, führen Sie./gradlew tasks --debug
bhargavg
@ Bhargavg Ich habe das versucht, es heißt-bash: ./gradlew: Permission denied
Oleksiy
@bhargavg gehen /path/to/sdk/toolsund ausführen sudo chmod 777 gradlewoder sudo chmod 777 *oder dann Befehl erneut ausführen
Hosseini

Antworten:

61

Es wurde behoben, indem auf Android Studio-> Preferences-> Gradle-> geklickt wurde Offline work. Ich habe noch keine Ahnung, was los war, aber zumindest jetzt kompiliert es.

Bearbeiten: In neuen Android Studio-Versionen lautet der Pfad File-> Other Settings-> Default Settings-> Build-Excecution-Deployment->Gradle

Oleksiy
quelle
Immer noch langsam, fast eine Minute.
Vlado Pandžić
11
Diese Antwort sollte aktualisiert werden. Datei-> Einstellungen-> Build-Excecution-Deployment-> Gradle ist der richtige Ort.
The_Martian
Gradle-Option kann nirgendwo gefunden werden - Datei-> Einstellungen-> Build-Excecution-Deployment-> Gradle und Android Studio -> Einstellungen -> Gradle
Narendra Singh
7
Datei-> Einstellungen-> Build-Excecution-Deployment-> BuildTools-> Gradle
RTF
Mein Problem war anders, siehe meine Antwort.
Nurettin
50

Die Frage scheint alt, aber falls jemand sie braucht.

Ich habe dieses Problem kürzlich nach einer neuen Installation von Ubuntu 14.04 gesehen . Nachdem ich eine Weile ohne Glück googelt hatte und das Terminal überprüft hatte, stellte sich heraus, dass libz.so.1es fehlt. Also habe ich es installiert und wie ein Zauber gearbeitet.

Installationsanweisung hier: libz.so.1 : Freigegebene Objektdatei kann nicht geöffnet werden

Tuanna
quelle
3
Ab Januar 2016 ist dies die erforderliche Lösung. Für die Faulen, die den Link nicht besuchen möchten: sudo apt-get install zlib1g: i386
grasskode
Nach vielen Experimenten funktionierte dies. Dies ist die funktionierende Antwort ... danke
Nidhin David
Was ist mit Mac OS X? Ich habe zlib und es gibt das gleiche Problem.
Makalele
Nachdem wir zwei Tage lang viele Lösungen ausprobiert hatten, funktionierte dies schließlich. Danke vielmals!
Brainbreaker
1
Dies funktionierte unter Ubuntu 16.06 (Installation von lib32z1). Die Gradle-Konsole im Android-Studio gab tatsächlich Auskunft darüber, dass libz fehlt, und es ist ein guter Ort, um bei Gradle-Problemen nachzusehen.
HYS
5

Offline-Arbeit über Einstellung aktivieren

Geben Sie hier die Bildbeschreibung ein

Biswajit Karmakar
quelle
Dies funktionierte für mich, als ich mein Projekt zum ersten Mal auf dem aktualisierten Android Studio 2.2 Preview 1
ausführte.
2

Sie müssen der Datei den Ausführungsmodus hinzufügen: AndroidStudioProjects / YourProjectName / gradlew, damit Android Studio sie ausführen kann. Wenn Sie sich auf einem Linux-Computer befinden, verwenden Sie diesen Befehl: chmod + x gradlew, um diesen Befehl auszuführen. Möglicherweise benötigen Sie Administratorrechte. In Ubuntu können Sie dazu sudo chmod + x gradlew verwenden

HsnVahedi
quelle
2

Dies kann aus vielen Gründen geschehen. Anstatt eine genaue Lösung anzugeben, finden Sie hier einige Schritte, um die Ursache zu ermitteln.

  1. Führen Sie den Befehl gradle über die Befehlszeile aus. Scheitert es immer noch?

    $ ./gradlew myTask

  2. Wenn ja, führen Sie das Debug-Flag erneut aus. Irgendwelche nützlichen Infos?

    $ ./gradlew myTask --debug

  3. Wenn es nur hängt, versuchen Sie, eine Stapelverfolgung zu erhalten. Durchsuchen Sie die Dump-Datei nachmyTask

    $ jps -mv | grep Gradle  <--- be sure to use capital "G"
    2290 GradleDaemon 3.3 -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Xmx2304M -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant
    $ jstack -l 2290 >> dump.txt <--- your process ID will be different
    
  4. Wenn es nur beim Ausführen von Android Studio hängt, generieren Sie einen Thread-Dump für Android Studio. Lesen Sie hier mehr .

tir38
quelle
1

In meinem Fall scheint gradle eine 32-Bit-Bibliothek auf einem 64-Bit-Ubuntu 16.04 zu fehlen. Dadurch wurde sudo apt-get install libstdc++6:i386das Problem behoben.

Alex
quelle
1

Dies geschah mir nach dem Hinzufügen von Google Play API zu Abhängigkeiten {}. ./gradlew app:assembleDebugEs wurde ein Fehler angezeigt, der so etwas wie Dex ID limit reached use multi-dex.das Einrichten wie hier beschrieben anzeigt . Ich habe beschlossen, die kürzlich hinzugefügte Abhängigkeit zu entfernen, und das Problem war behoben.

Google schlägt außerdem vor, Proguard als Technik zur Optimierung der Anzahl der Dex-IDs im selben Dokument zu verwenden.

nurettin
quelle
1

Für GNU / Linux-Benutzer:

Ich habe das SDK von einem anderen Speicher in mein Home-Verzeichnis kopiert. Dann bekam ich Lager gradle build running. Das Problem waren die Berechtigungen von SDK-Dateien. Sehen Sie sich das Protokoll der Gradle-Konsole an. Wenn Sie feststellen, dass einige Berechtigungen verweigert wurden, gehen Sie wie folgt vor: Geben Sie allen Dateien, die die Berechtigung ausführen, mit diesem Befehl Folgendes:

chmod -R +x /path/to/android-sdk

ALIZEYN
quelle
1

Nach viel Mühe und Befolgung aller oben (und in ähnlichen Beiträgen) veröffentlichten Lösungen stellte ich schließlich fest, dass das Problem auf meinem PC die Antiviren-Anwendung war. Ich habe es deaktiviert und gradle schnell aktualisiert und erstellt, wie es vor dem Start des Problems der Fall war.

Es sieht so aus, als ob mein Antivirenprogramm kürzlich damit begonnen hat, Gradle daran zu hindern, die erforderlichen Informationen aus dem Internet zu aktualisieren / herunterzuladen. Dies führt zu Verzögerungen und eventuellen Zeitüberschreitungen beim Laden und Aktualisieren eines Projekts. Durch Deaktivieren des Antivirenprogramms wird das Problem jedes Mal behoben.

ap
quelle
Hier gilt das gleiche. Kämpfte mit den Lösungen aus diesem Beitrag und nichts funktionierte. Zum Glück bin ich auf diese Antwort gestoßen. Auf meinem Firmen-Laptop ist McAfee installiert, und ich musste einige seiner Prozesse deaktivieren, damit Gradle den Erstellungsprozess abschließen konnte.
Boris Gitlin
0

Ich habe Centos 7 64-Bit auf einer virtuellen Virtualbox 5.0.16-Maschine installiert und Gradle Version 2.10 mit Android Studio 2.0

Die Protokolldatei von gradle befindet sich unter $HOME/.gradle/daemon/2.10 Protokolldatei:daemon-<some number>.out.log

Bei der Überprüfung dieser Protokolldatei stellte ich fest, dass libz.so.1aapt sie nicht gefunden hat.

Trotz dieses Befehls wurde "output libz.so.1" ausgegeben

/usr/lib64/libz.so
/usr/lib64/libz.so.1
/usr/lib64/libz.so.1.2.7

aapt konnte es nicht finden.

Um das Problem zu lösen, musste ich ausführen

yum install zlib.i686

Danach begann Gradle als Zauber zu arbeiten. Viel Glück!

Juan Pablo
quelle
0

Ich hatte etwas ähnliches.

Wenn ich gradle vom Befehl aus laufen ließ, würde dies diese Ausnahme auslösen

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDevDebugJavaWithJavac'.

nach etwa 25 Minuten an dieser Schlange warten

:app:compileDevDebugJavaWithJavac

Es stellte sich heraus, dass dies etwas mit den von mir verwendeten Android-Anmerkungen zu tun hatte . Ich habe das ersetzt

@UiThread 

Ich habe mit verwendet

activity.runOnUiThread(new Runnable(...

Und es fing an, gut zu kompilieren. Es ist seltsam, weil ich die Annotation @UiThread an vielen anderen Stellen in meinem Code verwendet habe.

Marc
quelle
0

In meinem Fall wurde dieser Fehler vom Gradle Builder (Android Studio 2.2, Windows 10) angezeigt.

java.lang.RuntimeException: Während des Wartens auf den Slave-Anpassungsprozess ist die Zeit abgelaufen. Versuchen Sie, die Umgebungsvariable SLAVE_AAPT_TIMEOUTauf einen Wert größer als 5 Sekunden einzustellen

Die Lösung bestand darin, die Variable SLAVE_AAPT_TIMEOUT zu meiner Windows-Umgebung hinzuzufügen und auf 30 zu setzen

Brunorcabral
quelle
0

Ich hatte das gleiche Problem und löste das Setzen der Variablen SLAVE_AAPT_TIMEOUT in Systemvariablen mit dem Wert 30.

Fabiano
quelle
0

Ich bin unter Windows und hatte das gleiche Problem.

Für mich wurde die gradlew-ausführbare Datei irgendwie gelöscht, keine Ahnung wie. Ich bin auf den Kanaren und hatte das Problem schon einmal.

gradlewGeben Sie im Terminalfenster von Android Studio Folgendes ein , und es wird erneut heruntergeladen und installiert, wenn es fehlt. (Meine alte Lösung war eine vollständige Neuinstallation von Android Studio, daher ist dies einfacher.)

Parker
quelle
0

Ich hatte das gleiche Problem, auch mit neuen Standardprojekten (Ubuntu 16.04). Es stellte sich heraus, dass das Problem in Abhängigkeiten von Drittanbietern des Gradle lag.
Zeigen
Sie die Datei an: ~ / .gradle / init.gradle Sie kann zusätzliche Abhängigkeiten enthalten, die der Gradle nicht laden kann. Sie können sehen, was nicht in die Konsole geladen werden kann:
./gradlew --debug

Alexey Ivakhin
quelle
0

Wenn Sie die Realm-Bibliothek verwenden und RealmStudio oder RealmBrowser zum Öffnen der Datei .realm verwenden, stellen Sie sicher, dass Sie die Datei .realm / lock und den Ordner .realm.management löschen.

Thanh vũ
quelle
0

Ich denke, das java.exeist der Grund für dieses Problem. Beenden Sie diese Anwendung einfach manuell und versuchen Sie es. Bei Android Studio 3.0.1 hat es wirklich funktioniert.

Yogesh Jangid
quelle
0

In meinem Fall blieb es hängen, mergeDebugResourcesweil ich versehentlich ein doppeltes Anführungszeichen \\'in einer Zeichenfolge hatte. Android Studio markiert dies nicht als Fehler, sondern bleibt beim Bauen hängen!

0101100101
quelle