Gradle Build running ... endlos

  • Antworten:19
Wicki11
  • Forum-Beiträge: 103

20.04.2018, 15:31:12 via Website

Hallo,
seit ich mein altes Android Studio deinstalliert und das neue (AS Version 3.1.1) installiert habe gibt es Probleme mit Gradle. Ich komme kaum noch zum Programmcode weil ich mich vorwiegend mit Gradle ärgern muß.
- ich starte ein vorhandenes Projekt
- Gradle sync läuft erfolgreich
- nun starte ich die App (Run) und Gradle ist erfolgreich
- geringfügige Änderung im Code (Toast-String): erfolgreich
- erneute geringfügige Code-Änderung und App-Start:
Gradle Build läuft und läuft ...., Abbruch nach ca. 5 Minuten

Bei einem der Versuche meldete sich Gradle wie folgt:
Timeout waiting to lock file hash cache (C:\Users\Ad.gradle\caches\4.4\fileHashes). It is currently in use by another Gradle instance.
Owner PID: 10824
Our PID: 11356
Owner Operation:
Our operation:
Lock file: C:\Users\Ad.gradle\caches\4.4\fileHashes\fileHashes.lock

Hier ein Protokollteil:
Build-Fenster:
Starting Gradle Daemon
Run build ...
Load build
Configure build
Run tasks

 Build running...
  Run build ...
   Load build
   Configure build
   Calculate task graph
   Run tasks
   Java compiler ...

 Build running...
  Run build ...
   Load build
   Configure build
   Calculate task graph
   Run tasks

* Abbruch nach 5 Minuten
**Event-Log Fenster:

20.04.2018
14:39 Gradle sync started
14:41 Project setup started
14:41 Gradle sync finished in 2m 22s 370ms
14:41 Executing tasks: [:app:generateDebugSources]
14:42 Gradle build finished in 35s 650ms

14:43 * daemon not running; starting now at tcp:5037
14:43 * daemon started successfully
14:43 Executing tasks: [:app:assembleDebug]
14:44 Gradle build finished in 15s 201ms

14:45 Executing tasks: [:app:assembleDebug]
**Abbruch
*
*fileHashes.lock 14:40

Gradle scheint auf irgendetwas zu warten (siehe lock-File). Bisher habe ich dann immer AS abgebrochen (nur mit TaskManager möglich), neu gebootet und ggf. das Lock-File gelöscht (war ebenfalls nur nach Neu-Booten möglich).
Ein "Invalide Cashes / Restart" ist auch keine Lösung, da ich dann ja bei jedem Testlauf auch einen Neustart machen müßte.

Bitte um Hilfe !

Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

20.04.2018, 15:32:44 via Website

Dieses Phänomen tritt bei mir auch ab & zu auf... Vielleicht einfach mal den PC neu starten. Notfalls mal Android Studio neu installieren. ;)

Hilfreich?
Kommentieren
Ludy
  • Admin
  • Forum-Beiträge: 7.958

20.04.2018, 15:51:33 via App

Hallo zusammen,

bei mir war es das AV Programm und wo das deinstalliert war der Windows Defender. Defender deaktiviert und es ging auch schneller - das compiling.

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Hilfreich?
Kommentieren
Wicki11
  • Forum-Beiträge: 103

20.04.2018, 18:09:53 via Website

Dank für Eure Beiträge. Aber das bringt mir nichts.
Bei mir tritt das Phänomen nicht ab und zu sondern regelmäßig auf und jedesmal den PC neu starten mache ich ja jetzt schon. Das ist jedoch keine Lösung.
Den Virenscanner ausschalten ist natürlich auch keine Lösung. Bei meinem alten AS gab es dieses Problem mit Gradle nicht. Dessen aktuelle Version ist einfach schlecht programmiert. Gradle soll die App zusammenbauen und ggf. den Anwender verständlich über Probleme informieren und nicht endlos auf ein Ereignis (andere Task) warten.

Gruß Wicki

Hilfreich?
Kommentieren
Wicki11
  • Forum-Beiträge: 103

25.04.2018, 21:51:01 via Website

Ich habe immer noch das Problem, dass Gradle zeitweise endlos läuft. Hier der Ablauf:
- Android Studio deinstalliert gemäß uninstall/install
danach gelöscht in /Users/myaccount/
.android, .gradle, .AndroidStudio, AppData/Roaming/JetBrains
gelöscht /Program Files/Android
nicht gelöscht SDK
- Neu installiert Android Studio Version 3.1.2
- Problem:
altes Projekt neu angelegt -> kleine Modifikation (Toast-String) -> Run -> läuft
erneute Modifikation:
Gradle Build Running kommt nicht zum Ende, Abbruch nur durch Neustart des PC
Das passierte mir bei 2 alten Projekten: jeweils im 2. Änderungsdurchlauf.
Verdacht: C:\Users\Ad\.gradle\caches\4.4\fileHashes\fileHashes.lock
Die Bedeutung dieses und anderer lock-Files kenne ich nicht.
Dieses Lock-file hatte noch die Uhrzeit vom 1. Durchlauf

  • Gerät: Samsung GALAXY S III mini (GT-I8190)

Bitte um Hilfe !
Gruß Wicki

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

25.04.2018, 22:13:23 via Website

Hallo,

da das ja schon ein weiteres Problem von dir mit AS ist und ich sowas gar nicht kenne

a) Was für eine Maschine benutzt du denn ?
b) hast du sie denn mal neu aufgesetzt oder geschaut , dass dir nicht irgend ein Virenscanner etc
einen Strich durch die Rechnung macht ??

Vielleicht als Anhaltspunkt : Ich arbeite mit i7/16GB Ram/SSD rundum die Uhr ohne Probleme.

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.04.2018, 23:41:02 via Website

Hallo Wicki,
ich habe deinen Thread mal an den ursprüunglichen angehängt, da ein Thread zu diesem Thma reichen sollte.

Hast du evtl. einen andereren Rechner (oder bei dir Virutell) wo du AS installieren und den Build testen kannst?

Und sei nach 5 min nicht ungeduldig, der "erste" Gradle Build nach einer neuistallation kann lange dauern.
Ich hab glaube einmal ca. 10 min gewartet, weil alle Libs etc. erst geladen werden mussten.

Von daher mach mal ein Gradle Build und geh Kaffee trinken. Wenns nach 10-20min nicht fertig ist, dann stimmt was nicht.

Sollte der Build dauerhaft so lange dauern dann stimmt auch was nicht...

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Wicki11
  • Forum-Beiträge: 103

26.04.2018, 19:12:19 via Website

Dank für Eure Hinweise.
Das Problem tritt ja nicht nur beim 1. Build nach der Neuinstallation auf sondern bei allen bisher getesteten Projekten auch im Wiederholungsfall.
Maschine ist ein Acer-Laptop mit 450 GB, Virenscanner Avira (dessen Echtzeitschutz habe ich ausgeschaltet aber ohne Ergebnis).
Ich habe nun verschiedenes probiert, habe die Ursache nicht gefunden aber einen workaround, der zumindest jetzt erstmal bei einem SQLite-Projekt wie folgt wirkt:
- Start AS mit diesem Projekt
Sync okay -> Run -> apk wird gebildet (normale Dauer) und läuft
- nächste Veränderung angebracht -> File -> ... -> just restart (oder AS beenden und manuell neu starten).
- Run -> Gradle läuft normal und geänderte apk läuft

Ich mache also nach jedem Änderungslauf einen Restart des AS. Das dauert dann ca. 3 Minuten bis zum Run.
Es wäre schön wenn ich auch noch diesen Restart vermeiden könnte, doch leider tritt ab dem 2. Änderungslauf das Probem wieder auf. AS scheint beim Restart wieder einen Anfangszustand herzustellen, der dieses Warten von Gradle auf ein Ereignis, das offensichtlich nicht eintritt, ausschaltet.

Gruß Wicki

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

26.04.2018, 19:23:51 via Website

Hallo Wiki,

Maschine ist ein Acer-Laptop mit 450 GB

meine Frage bezog sich nicht darauf , wie viel Festplatten Platz du hast , sondern es kommt auf den verfügbaren RAM und die Processorgeschwindigkeit an. (Eine ssd ist da schon zu empfehlen)

Die Angabe "Acer-Laptop" hilft da nicht wirklich weiter.
Also was ist deine genaue Konfiguration deines Laptops und der freie Ram in dem Moment ,
wo du ein Build auslöst?

Ich mache also nach jedem Änderungslauf einen Restart des AS. Das dauert dann ca. 3 Minuten bis zum Run.
Es wäre schön wenn ich auch noch diesen Restart vermeiden könnte, doch leider tritt ab dem 2. Änderungslauf das Probem wieder auf.

Bedenke bitte , dass sämtliche temporären Build Dateien gelöscht, verglichen und neu geschrieben werden. - Das benötigt Zeit
Und Richtig , AS bildet nach dem ersten Run einen Cache - der wird ausgelagert und ist im RAM.

P.S.
Ich habe hier so einen Not- Laptop (i3/16GB Ram) - der ist um ein vielfaches langsamer als der Desktop.
Der ist nur die OutDoor Notlösung , arbeitet macht mit dem nicht wirklich Spass.

— geändert am 26.04.2018, 19:34:24

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Wicki11
  • Forum-Beiträge: 103

27.04.2018, 10:13:14 via Website

Hallo swa00 !
mein Laptop: 4 GB RAM
Gesamtauslastung beim Build: max. 75%
keine SSD

Von daher kann offensichtlich das Problem nicht kommen.
Bei der ursprünglichen AS-Version gab es dieses Problem nicht und die Gradle Build-Zeiten waren ganz normal.
Außerdem tritt das Problem ja beim 1. Änderungsdurchlauf nicht auf (ganz normale Gradle Build-Zeiten). Warum sollte das bei einem Folgedurchlauf mit minimalster Änderung (Änderung eines Zeichens in einem Toast-String) anders sein ?

Ich werde wohl oder übel mit dem beschriebenen workaround auskommen müssen.

Gruß Wicki

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

27.04.2018, 10:34:24 via Website

Von daher kann offensichtlich das Problem nicht kommen.

Oh doch, da bist du absolut an der Schmerzgrenze, kein Wunder.
https://developer.android.com/studio/

Microsoft® Windows® 7/8/10 (32- or 64-bit)
3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator

Bitte beachte : FREIE 3 GB, nicht die im Laptop verbauten !

Deine Kiste lagert ständig auf die Festplatte aus , weil ihr schlichtweg Futter fehlt.
Und da auch nicht mehr als max. 4 GB (pagefile.sys / hiberfile.sys)

Ich bin ein wenig verwundert , dass du uns seit einer Woche auf Trap hälst, es allerdings
versäumst , dich vorher damit auseinander zu setzen .
- Lesen hilft des Öfteren.

Und es fehlt eigentlich noch die Angabe des Processors . Wenn du natürlich irgend einen
mobilen Abklatsch verbaut hast , wird das auch nichts.

Fazit :
Bei der von Dir verwendeten Konstallation wird das nicht schneller und stabiler werden
und du musst mit deinem Problem einfach leben .- Sorry

Gutes Werkzeug , gutes Resultat

— geändert am 27.04.2018, 11:27:02

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Gelöschter AccountPascal P.
Kommentieren
Wicki11
  • Forum-Beiträge: 103

27.04.2018, 11:22:26 via Website

Microsoft® Windows® 7/8/10 (32- or 64-bit)
3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator

Bitte beachte : FREIE 3 GB, nicht die vom Laptop !

Du zeigst mir Daten für Windows 8 und dann "nicht vom Laptop". Meines Wissens läuft Windows 8 nicht auf dem Smartphone sondern auf dem Laptop. Dort wird ja die APK gebildet und dann auf das Gerät übertragen.
Außerdem gehst Du nicht auf das eigentliche Problem (Gradle-Probleme nicht im 1. Durchlauf sondern nur in einem Folgedurchlauf) ein. Im 1. Durchlauf gibt es ja offensichtlich keine RAM-Probleme.

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

27.04.2018, 11:34:33 via Website

Wicki11

Microsoft® Windows® 7/8/10 (32- or 64-bit)
3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator

Bitte beachte : FREIE 3 GB, nicht die vom Laptop !

Du zeigst mir Daten für Windows 8 und dann "nicht vom Laptop". Meines Wissens läuft Windows 8 nicht auf dem Smartphone sondern auf dem Laptop. Dort wird ja die APK gebildet und dann auf das Gerät übertragen.
Außerdem gehst Du nicht auf das eigentliche Problem (Gradle-Probleme nicht im 1. Durchlauf sondern nur in einem Folgedurchlauf) ein. Im 1. Durchlauf gibt es ja offensichtlich keine RAM-Probleme.

Ich denke, was swa00 meint, ist nicht die "vollständige" RAM-Größe, sondern die Größe des freien RAMs - und die ist bei dir in diesem Fall definitiv etwas gering. ;)

Hilfreich?
swa00
Kommentieren
swa00
  • Forum-Beiträge: 3.704

27.04.2018, 11:37:04 via Website

Wickii,

bei aller Liebe , du verstehst die Zusammenhänge absolut nicht .

Du zeigst mir Daten für Windows 8 und dann "nicht vom Laptop". Meines Wissens läuft Windows 8 nicht auf dem Smartphone sondern auf dem Laptop. Dort wird ja die APK gebildet und dann auf das Gerät übertragen.
Außerdem gehst Du nicht auf das eigentliche Problem (Gradle-Probleme nicht im 1. Durchlauf sondern nur in einem Folgedurchlauf) ein. Im 1. Durchlauf gibt es ja offensichtlich keine RAM-Probleme.

Doch , denn ich gehe die ganze Zeit drauf ein, ich weis schon gar nicht mehr , was ich Schreiben soll :-) grummel
.

Vielleicht ganz einfach mit Äpfel und Birnen :

Dein Laptop ist zu schwach dimensioniert und erfüllt nicht die Mindestvoraussetzung, um
AndroidStudio stabil und zuverlässig ausführen zu können - Punkt !

Und beim zweiten Build braucht Androidstudio noch mehr , weil es relevante Daten
im RAM/Cache behält.

Da kannst du dich jetzt auf den Kopf stellen, oder im Regen tanzen - Es wird sich nichts daran ändern

Das Thema ist jetzt durch und ich denke , es ist von Allen genügend beigetragen worden.
Sei bitte so lieb und besorge Dir einen vernünftigen PC und wenn du dann noch Fragen hast,
bist du herzlichst willkommen.

— geändert am 27.04.2018, 11:45:41

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Gelöschter Account
Kommentieren
Wicki11
  • Forum-Beiträge: 103

27.04.2018, 12:32:31 via Website

Kann es sein, dass Du Dich vielleicht ab und zu etwas ungenau ausdrückst ? Welchen RAM zum Beispiel Du meinst.

Wenn beim Build maximal 75 % vom Laptop-RAM belegt sind, dann sind in meinem Falle noch 1 GB frei. Wieso soll es dann an ungenügendem RAM liegen ?
Es kann doch nicht sein dass AS für eine poplige Änderung 3 GB freien RAM braucht !

Toll dieses AS. Es bietet und empfielt eine neue Version, die aber nur ordentlich läuft wenn man sich einen passenden PC dazu kauft und vielleicht auch noch Informatik studiert hat bzw. umfangreiche Dokumentationen im Internet liest. Wenn ich das vorher gewusst hätte, hätte ich nach der Maxime "never change a running system" gehandelt und mit der alten Version weitergearbeitet.
Ich werde Euch nicht mehr

seit einer Woche auf Trap

Pardon Trab halten
und bedanke mich trotzdem für Eure Beiträge !

Gruß Wicki

Hilfreich?
Kommentieren
Wicki11
  • Forum-Beiträge: 103

30.04.2018, 15:53:16 via Website

Hallo

melde mich nochmal von der "Gradle Build running ... endlos"-Front.
Nochmal kurz mein Problem:
Unter dem neu installierten AS läuft mein Projekt beim 1. Start ordnungsgemäß ohne Zeitverluste beim Gradle Build. Beim unmittelbar darauffolgenden Start (geringe Code-Änderung) läuft Gradle "endlos". Konnte bisher nur durch einen AS-Restart behoben werden.
Habe einen neuen Hinweis gefunden und den Task-Manager beobachtet.
Am Ende des 1. Starts (die App ist beendet) und zu Beginn des Folgestarts läuft immer noch der Prozess java.exe. Wenn ich diesen nach dem Ende des 1. Starts einfach über den Task-Manager beende, läuft das folgende Gradle Build ordnungsgemäß wie beim 1. Durchlauf. Das kann ich mehrmals wiederholen.
Zusammengefasst: der java.exe-Prozess wird nach dem App-Ende nicht beendet.

Gruß Wicki

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

30.04.2018, 16:01:14 via Website

Zusammengefasst: der java.exe-Prozess wird nach dem App-Ende nicht beendet.

Dann wärst du der Erste , der Java nicht mehr benötigen würde.

Damit du endlich einsiehst , dass dein Laptop nicht dafür geschaffen ist
Hier ein paar Werte aus dem "realen" Entwickler-Leben :

Im Ruhezustand nach complieren :

  • Java.exe wird nie beendet (980 MB - 1,1 GB RAM)
  • studio64.exe wird nie beendet (1,8 GB - 2,0 GB RAM)
  • adb.exe wird nie beendet (3 MB RAM)
    und ein paar kleine Nebensächlichkeiten

Hier "mein" Ruhezustand.
image

image

Und hier für ein Mini-Default-Projekt (eine Activity ohne Inhalt -Build-Time)
(8 Kerne ausgelastet)

image

Danach wieder wie oben - Konfiguration : i7 / 16GB RAM / 2x 1TB SSD (Programm/Projektpfad)

Ich denke , jetzt ist aber wirklich mal gut - oder ?

— geändert am 30.04.2018, 17:38:52

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Wicki11
  • Forum-Beiträge: 103

30.04.2018, 17:47:55 via Website

Hallo sw00,
wenn es Dich zu sehr belastet ...
Ich verlange nicht von Dir Dich mit dem Problem zu belasten.
Das Problem ist noch immer nicht geklärt und deshalb versuche ich weitere Details zur Aufklärung zu finden.
Die von Dir genannten Prozesse laufen immer das kann ich bestätigen. Bei einem Folgedurchlauf meines Projekts läuft der Gradle-Build Prozess zunächst wie gehabt. Wenn aber im Build-Fenster die Zeile "Run Tasks" erscheint ändert sich bei mir der Status des java.exe-Prozess von "Wird ausgeführt" auf "Angehalten" und hiermit beginnt die "Endlos-Schleife".

Gruß Wicki

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

30.04.2018, 18:52:23 via Website

Hallo Wiki,

"belastend" ist es in der Hinsicht schon ein wenig, denn wie ich oben schon geschrieben habe,
behält sich AS den ersten Durchlauf im Cache.
Und solche Sätze scheine ich eigentlich umsonst zu schreiben , weil du sich offensichtlich nicht
einsiehst , dass es so ist . - Und genau der Punkt nervt.

Ich helfe sehr gerne , oder warum denkst du , mache ich mir die Arbeit mit den ganzen Screenshots ??

Das heisst beim zweiten Male muss bei deinem RAM auf die Festplatte ausgelagert werden und
dadurch hängt sich dein System auf, weil es es einfach nicht mehr schafft.

Schau dir doch einfach mal meine Werte an , was Java und AS benötigen , damit sie flüssig arbeiten können.Das ist das doppelte von dem , was dein ganzer Laptop verbaut hat.

Es ist halt mühsam, immer wieder gebetsmühlenartig das Gleiche zu schreiben und der Gegenüber
mag mit dem Kopf durch die Wand .

Wir können an diesem Umstand nichts ändern und eigentlich bist Du mit Deiner Frage an der völlig falschen Adresse.

Du müsstest Dich eigentlich mit Jetbrain in Verbindung setzen und dort dein Problem schildern und
um Abhilfe bitten.
https://www.jetbrains.com/idea/

Wir haben die Entwicklungsumgebung nicht entwickelt, sondern helfen hier bei der Umsetzung des
Ergebnisses.

Kurzum :
Hier helfen wir beim Hausbau , und geben keine Hilfestellung für Bohrmaschine, Akkuschrauber und Betonmischer.

— geändert am 30.04.2018, 18:53:23

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Pascal P.
Kommentieren
Wicki11
  • Forum-Beiträge: 103

30.04.2018, 19:55:58 via Website

Das mit dem "gebetsmühlenartig" könnte ich auch sagen. Ich begreife nur nicht warum beim 2. Male ausgelagert (wo doch der cache von Durchlauf 1 verfügbar ist) werden muss bei der Minimaländerung und warum java.exe angehalten werden muß. Beim 1. Mal laufen ja java.exe und der Compiler auch parallel. Das Ihr das nicht ändern könnt verstehe ich schon aber Ihr solltet auch mich verstehen wenn ich das für eine mangelhafte Programmierung halte denn ich arbeite nicht auf einem Server bei dem mehrere java-Prozesse parallel laufen können.
So werde ich denn in Zukunft vor den Folgedurchläufen den java.exe-Prozess abbrechen.

Gruß Wicki

Hilfreich?
Kommentieren