Platz freiräumen
Build-Ordner, Pods und Gradle-Caches leeren, alte Simulatoren, NDKs und Flutter-Versionen finden und nach dem Build automatisch aufräumen.
Mehrere Kundenvarianten desselben Projekts sammeln schnell zweistellige Gigabyte an Zwischenergebnissen an. Dazu kommen alte Simulatoren, Android-SDKs und Flutter-Versionen. Die Build Station misst erst, zeigt dir, was wie viel Platz belegt, und löscht nur, was du auswählst.
Ein Projekt aufräumen
Im Tab Build öffnet Aufräumen den Dialog Zwischenergebnisse leeren. Er zeigt pro Ziel die tatsächliche Größe und unten die Summe dessen, was frei wird.
| Ziel | Was danach fehlt und wie es zurückkommt |
|---|---|
build/ |
Ergebnisse aller bisherigen Builds, kommen mit dem nächsten Build zurück. Kostet nur Bauzeit. |
.dart_tool/ |
Dart-Zwischenstände, pub get erzeugt sie neu |
ios/Pods/ |
CocoaPods-Abhängigkeiten, pod install lädt sie neu herunter |
android/.gradle/ |
Gradle-Zwischenstände des Projekts, werden neu gefüllt |
Vorausgewählt ist nur build/. Es ist meist der größte Posten und der einzige, der beim nächsten Build nichts kostet außer Zeit.
Wo möglich, läuft flutter clean statt eines blinden Löschens. Es räumt zusätzlich die plattformspezifischen Zwischenordner auf. Ein vorhandenes build/web bleibt dabei erhalten, weil es bei Web-Projekten oft eingecheckt ist oder deployt wird. Beim Leeren der Pods entfernt die Station auch ios/Podfile.lock.
Über die Warteschlange
Gelöscht wird über die Warteschlange, nicht sofort. Ein rm -rf build mitten in einem laufenden Build würde ihn zerlegen. Läuft für das Projekt gerade etwas, heißt der Knopf Zur Warteschlange statt Leeren, und das Aufräumen startet, sobald der laufende Vorgang fertig ist.
Der Bereich „Aufräumen”
Aufräumen in der Seitenleiste bündelt alles rund ums Platzschaffen. In den Listen ist nichts vorausgewählt: Du hakst selbst an, wo gelöscht wird.
Projektordner
Die Station misst jeden Projektordner. Projekte, die sich einen Ordner teilen, zählen nur einmal. Die Liste ist danach sortiert, was frei würde.
- Oben unter Leeren: wählst du, was geleert wird, also
build/,.dart_tool/,ios/Pods/oderandroid/.gradle/. - In der Liste wählst du, wo: einzelne Ordner oder Alle wählen.
- Wird frei: zeigt die Summe.
Gelöscht wird nach Rückfrage über die Warteschlange. Die Artefakte im Sammelordner sind davon nicht betroffen.
Xcode, Android und Flutter
Hier sucht die Station außerhalb der Projekte nach Altlasten und misst sie. Das kann bei vielen Simulatoren etwas dauern. Was sich gefahrlos löschen lässt, ist als empfohlen markiert. Empfohlene wählen hakt genau diese Posten an.
| Posten | empfohlen, wenn |
|---|---|
| DerivedData, Xcode-Cache, Simulator-Caches | immer |
| iOS-, watchOS- und tvOS-DeviceSupport | nicht die neueste Version |
| Simulator-Runtimes | nicht die neueste je Plattform |
| verwaiste Simulatoren | immer |
| Xcode-Archive (pro Jahr), CocoaPods-Cache | nie, nur auf Wunsch |
| NDKs | weder die neueste noch per ndkVersion benutzt |
| Build-Tools | nicht unter den zwei neuesten |
| SDK-Plattformen (API-Level) | älter als die zwei neuesten und nicht compileSdk eines Projekts |
| System-Images | von keinem Emulator benutzt |
| Emulatoren | ihr System-Image fehlt |
| Gradle-Versionen (Distribution, Caches, Daemon-Logs) | weder die neueste noch im Wrapper eines Projekts |
| Flutter-Versionen unter fvm | von keinem Projekt per .fvmrc benutzt |
| Gradle-Build-Cache, Pub-Cache | nie, nur auf Wunsch |
Was ein Projekt noch benutzt, wird nie empfohlen. Gelöscht wird nur innerhalb der bekannten Orte: ~/Library/Developer, ~/Library/Caches, Android SDK, ~/.gradle, ~/.android/avd, fvm und ~/.pub-cache. Simulator-Runtimes und verwaiste Simulatoren entfernt die Station über xcrun simctl.
Löschen ist endgültig. Was gebraucht wird, laden Xcode, Gradle oder fvm beim nächsten Mal neu herunter. Solange in der Warteschlange etwas läuft, ist Löschen hier gesperrt: Ein NDK unter einem laufenden Build wegzuziehen, lässt ihn scheitern.
Neu suchen misst noch einmal, Auswahl aufheben nimmt alle Häkchen weg.
Artefakte und Logs der Build Station
Artefakte im Sammelordner und Build-Logs bleiben liegen, bis du sie löschst. Hier legst du fest, was bleiben soll:
| Einstellung | Vorgabe |
|---|---|
| Artefakte behalten (Tage) | 180 |
| Behalten pro Preset | 10 |
| Logs behalten (Tage) | 90 |
Die Werte wirken nur, wenn du aufräumst. Vorschau der Löschkandidaten listet, was nach diesen Regeln wegfiele, mit Grund. Erst … Einträge löschen löscht.
Die Einträge im Verlauf bleiben dabei erhalten. Sie verweisen danach auf nicht mehr vorhandene Dateien.
Automatisch nach dem Build
Im Bereich Aufräumen gibt es den Schalter Nach erfolgreichem Build automatisch aufräumen, mit frei wählbaren Zielen. Vorgabe ist build/. Ausgeschaltet ist er, bis du ihn einschaltest.
Auch eingeschaltet räumt die Station nur auf, wenn
- der Build erfolgreich war und Artefakte erkannt wurden,
- jedes Artefakt in den Sammelordner kopiert wurde, sonst läge es nur in
build/und wäre danach weg, - für denselben Ordner kein weiterer Lauf wartet. Sonst räumt erst der letzte auf.
Der Aufräumlauf steht als „Automatisch aufräumen” in Warteschlange und Verlauf und verweist auf den Build. Der Preis: Der nächste Build fängt bei null an und dauert länger.
Wenn die Platte voll ist
Scheitert ein Build an vollem Speicher, erkennt die Station das im Log und bietet im Fehlerstreifen Zwischenergebnisse leeren … an. Siehe Wenn ein Build scheitert.