Android SDK-Ordner nimmt viel Speicherplatz ein. Müssen wir alle System-Images behalten?

Lesezeit: 9 Minuten

Benutzer-Avatar
Virales Patel

Es gibt ein viele Systemabbilder stapeln sich auf meiner Festplatte im Android-SDK-Ordner. Ich benutze den Emulator kaum. Kann einmal in 6 Monaten sein. Der größte Teil meiner Entwicklung findet direkt auf dem Gerät statt. Was ich überprüfen wollte war, Wird das Entfernen der System-Images (zumindest für die alten APIS, dh < 22) die Entwicklung beeinflussen?

Auch der google apis-Ordner ist unten zu sehen. Sollte ich es für alle Versionen behalten oder reicht nur die in der neuesten Version?

Geben Sie hier die Bildbeschreibung ein

Der obige Screenshot stammt vom WinDirStat-Tool. –
https://windirstat.net

  • Danke! Was ist mit dem google_apis-Ordner …. kann ich diese auch entfernen? wirkt sich das auf mein Debugging auf dem Gerät aus?

    – Viraler Patel

    12. Juni 2015 um 6:22 Uhr

  • Falls es jemanden interessiert, sei der Disk Space Analyzer auf Bild genannt WinDirStat.

    – Tomáš Zato – Wiedereinsetzung von Monica

    5. November 2015 um 15:24 Uhr

  • Randnotiz: So einfach wie ein du -sh* auf einer Linux-Box!

    – Benutzer3

    27. Mai 2017 um 18:38 Uhr

  • unter Linux, um die größten Verzeichnisse anzuzeigen: du -m ~/src/android-sdk-linux | sort -n|tail -100

    – Scott Stensland

    7. Juni 2017 um 19:51 Uhr


  • @lijo hat die Frage aktualisiert

    – Viraler Patel

    7. Juli 2017 um 18:11 Uhr

Benutzer-Avatar
Frosch

Systemabbilder sind vorinstallierte Android-Betriebssysteme und sind es nur von Emulatoren verwendet. Wenn Sie Ihr echtes Android-Gerät zum Debuggen verwenden, benötigen Sie sie nicht mehr, sodass Sie sie alle entfernen können.

Der sauberste Weg, sie zu entfernen, ist die Verwendung von SDK Manager. Öffnen Sie SDK Manager und deaktivieren Sie diese Systemabbilder und wenden Sie sie dann an.

Sie können auch andere Komponenten (z. B. alte SDK-Levels) entfernen, die keinen Nutzen haben.

  • Danke für die ausführliche Antwort abforce … macht es klar. Ein letzter Zweifel. Der google_apis-Ordner, der in jeder Android-Version im obigen Screenshot zu sehen ist, wird auch nur für die System-Images benötigt, richtig? kann man sie auch entfernen?

    – Viraler Patel

    12. Juni 2015 um 7:56 Uhr


  • Können wir diese Datei auf ein anderes Laufwerk verschieben, wenn ja, welche Einstellungen müssen nach dem Verschieben der Bilder vorgenommen werden?

    – gleicher

    9. Februar 2017 um 7:14 Uhr

  • @sameer Sie können es verschieben und dann Ihre IDE darauf verweisen, wo sich der SDK-Manager befindet. Ich habe das einmal versucht, aber es hat dazu geführt, dass meine Eclipse jedes Mal 5 Minuten brauchte, um sich einfach zu öffnen … das Löschen der Systemabbilder hat mir 40 GB auf meiner SSD gespart!

    – Dämonenschlacht335

    15. März 2017 um 17:32 Uhr

  • Es gibt viele Android SDK Build-Tools in meinem SDK-Manager. Das Löschen alter Revisionen kann zu Fehlern führen oder die Leistung beeinträchtigen?

    – Shima Erfan

    31. Dezember 2017 um 19:57 Uhr

Benutzer-Avatar
Virales Patel

Sie müssen die Systemabbilder nicht aufbewahren, es sei denn, Sie möchten den Emulator auf Ihrem Desktop verwenden. Zusammen damit können Sie andere unerwünschte Dinge entfernen, um Speicherplatz freizugeben.

Als Antwort auf meine eigene Frage hinzufügen, da ich dies mehr als ein paar Mal Leuten in meinem Team erzählen musste. Daher diese Antwort als Referenz, um sie mit anderen Neugierigen zu teilen.

In den letzten Wochen gab es mehrere Kollegen, die mich fragten, wie man das unerwünschte Zeug sicher loswird, um Speicherplatz freizugeben (die meisten von ihnen waren Anfänger). Ich habe sie auf diese Frage umgeleitet, aber sie haben mich um Schritte gebeten. Für Android-Anfänger gibt es hier eine Schritt-für-Schritt-Anleitung zum sicheren Entfernen unerwünschter Inhalte.

Notiz

  • Löschen Sie nicht blindlings alles direkt von der Festplatte, von dem Sie “denken”, dass es nicht belegt werden muss. Ich habe das einmal gemacht und musste es erneut herunterladen.
  • Stellen Sie sicher, dass Sie eine Liste aller aktiven Projekte mit der Art von Emulatoren (falls vorhanden) und API-Levels und Build-Tools haben, die erforderlich sind, damit diese weiterhin ordnungsgemäß arbeiten/kompilieren können.

Stellen Sie zunächst sicher, dass Sie keine Emulatoren verwenden und Ihre Entwicklung immer auf einem physischen Gerät durchführen. Falls Sie Emulatoren benötigen, notieren Sie sich die API-Ebenen und die Art der Emulatoren, die Sie benötigen. Entfernen Sie diese nicht. Befolgen Sie für den Rest die folgenden Schritte:

Schritte zum sicheren Löschen unerwünschter Inhalte aus dem Android SDK-Ordner auf der Festplatte

  1. Öffnen Sie den eigenständigen Android SDK-Manager. Führen Sie zum Öffnen einen der folgenden Schritte aus:
  • Klicken Sie in Android Studio oder Eclipse auf die Schaltfläche SDK-Manager in der Symbolleiste
  • Gehen Sie in Android Studio zu den Einstellungen und suchen Sie nach „Android SDK“. Klicken Sie auf Android SDK -> „Open Standalone SDK Manager“
  • Öffnen Sie in Eclipse das Menü „Fenster“ und wählen Sie „Android SDK Manager“
  • Navigieren Sie zum Speicherort des android-sdk-Verzeichnisses auf Ihrem Computer und führen Sie „SDK Manager.exe“ aus.

.

  1. Deaktivieren Sie alle Elemente, die mit „System Image“ enden. Jede API-Ebene wird mehr als ein paar haben. Falls Sie einige benötigen und die Liste bereits ermittelt haben, lassen Sie sie aktiviert, um zu vermeiden, dass sie verloren gehen und erneut heruntergeladen werden müssen.

.

  1. Optional (kann dazu beitragen, geringfügig mehr Speicherplatz zu sparen): Um mehr Speicherplatz freizugeben, können Sie nicht benötigte API-Ebenen auch vollständig deaktivieren. Seien Sie erneut vorsichtig, um zu vermeiden, dass Sie etwas erneut herunterladen, das Sie tatsächlich in anderen Projekten verwenden.

.

  1. Stellen Sie am Ende sicher, dass Sie mindestens Folgendes haben (siehe Bild unten), damit die verbleibenden API-Ebenen nahtlos mit Ihrem physischen Gerät arbeiten können.

Am Ende sollten die sauber installierten Komponenten des Android SDK im SDK-Manager ungefähr so ​​​​aussehen.

Geben Sie hier die Bildbeschreibung ein

  • Entfernen Systembilder im SDK-Manager ist die sauberste Lösung. Dies sollte zumindest mehr Upvotes haben oder sogar die akzeptierte Antwort sein.

    – Levit

    2. Juni 2016 um 7:51 Uhr


  • Danke @Levit, dies ist eine Antwort auf meine eigene Frage, die ich später gepostet habe, weil ich dachte, dass die Leute davon profitieren würden, diesen Ansatz zu kennen. Die Antwort, die ich als akzeptiert markiert habe, hat mir damals tatsächlich geholfen.

    – Viraler Patel

    2. Juni 2016 um 7:56 Uhr

  • Das war sehr hilfreich, danke. Die einzige Änderung an Ihren Schritten, die ich vorschlagen würde, ist Schritt Nr. 2. Sie möchten die Elemente, die Sie entfernen möchten, ÜBERPRÜFEN und dann unten rechts auf die Schaltfläche Pakete löschen klicken. Danke noch einmal!

    – Adam Plocher

    12. Juli 2016 um 21:52 Uhr

  • Vielen Dank, ich wusste nicht, dass das SDK Emulator-Images herunterlädt (Mein Mac hat geweint, dass ihm der Speicherplatz ausgeht, bis ich diesen Beitrag gesehen habe).

    – ScarletMerlin

    28. September 2017 um 14:13 Uhr

  • Erwägen Sie, Ihre Antwort zu aktualisieren, da die neueren Versionen von Android Studio jetzt Android SDKs an diesem Ort speichern: C:\Users\ username \AppData\Local\Android\Sdk. Außerdem weiß ich nicht, ob es nur an mir liegt oder ob es in den neueren Versionen von Android Studio keinen eigenständigen Android SDK Manager gibt.

    – Lloyd Dominic

    24. Mai 2020 um 8:04 Uhr

Benutzer-Avatar
gut

Ich hatte 20,8 GB im Ordner C:\Users\ggo\AppData\Local\Android\Sdk\system-images (6 Android-Images: – android-10 – android-15 – android-21 – android-23 – android-25 – android-26 ).

Ich habe den Ordner C:\Users\ggo\AppData\Local\Android\Sdk\system-images komprimiert.

Jetzt braucht es nur noch 4,65 GB.

C:\Users\ggo\AppData\Local\Android\Sdk\system-images

Ich bin bis jetzt auf kein Problem gestoßen…

Die Kompression scheint von 2/3 bis 6 zu variieren, manchmal viel mehr:

Android-10

Android-23

Android-25

Android-26

  • wie hast du es komprimiert?

    – krv

    21. Juli 2017 um 14:06 Uhr

  • Rechtsklick auf den zu komprimierenden Ordner (hier System-Images-Ordner) => Eigenschaften => Erweitert => “Inhalt komprimieren, um Speicherplatz zu sparen” aktivieren => OK => Übernehmen => “Änderungen auf diesen Ordner, Unterordner und Dateien anwenden” auswählen ” (sollte standardmäßig ausgewählt sein) und klicken Sie auf OK. (Möglicherweise ist es besser, Android Studio zu beenden und die derzeit laufenden Emulatoren vor dem Komprimieren zu schließen, da einige Dateien möglicherweise gesperrt sind).

    – geh

    22. Juli 2017 um 20:02 Uhr


  • Dies wirkt sich auf die Leistung aus, also tun Sie es nur für selten verwendete Dateien (ausgenommen bereits komprimierte Dateien wie Foto, Video, Zip, JAR usw.).

    – Leon

    13. Januar 2019 um 3:12 Uhr

Ich empfehle zwei Schritte, um das aufgeblähte SDK-Problem zu lösen.

Zuerst habe ich alle bis auf zwei Versionen von Android entfernt:

  1. Die aktuelle Version, z. B. 6.0 Marshmallow zum Zeitpunkt dieses Schreibens. Diese Version dient zum Testen und Entwickeln der neuesten und besten Geräte, die auf den aktuellen Nexus-Handys sowie einigen anderen Marken ausgeführt werden.

  2. Eine ältere Version, zB 4.04 Ice Cream Sandwich. Dies soll die Kompatibilität für die überwiegende Mehrheit der Mobiltelefone gewährleisten. Sie verlieren einige Funktionalität der neueren Versionen, gewinnen aber den kleinsten gemeinsamen Nenner der Kompatibilität.

Zweitens habe ich die Emulatoren entfernt und nur die beiden oben behalten. Ich habe ihm gesagt, dass es nicht den kompletten Systemstatus auf der Festplatte speichern soll, was in der Tat davor warnt, dass Sie viel Speicherplatz beanspruchen, obwohl es den Start beschleunigt. Starte einfach den Emulator, bevor du morgens deinen Kaffee kochst 🙂

Wenn das zu viel Platz ist, entfernen Sie die Emulatoren vollständig. Holen Sie sich ein paar ältere Handys bei Ebay, die Ihnen alle Testplattformen bieten, die Sie benötigen. Sie müssen nicht einmal vollständig funktionsfähig sein – viele Apps benötigen zum Beispiel keine SIM- und Mobilfunkverbindung.

Meine Android-Umgebung beanspruchte 32 GB auf meinem 128-GB-Macbook Air. Konnte nicht weitermachen. Eines Tages werden sie Terabyte Macbook Airs herstellen, aber bis dahin müssen sie abspecken.

Dies ist das Minimum, das ich für die tägliche Android-Entwicklung aufbewahre (einschließlich Produktionscode). Nur die neuesten Versionen von API 25 bis API 27 (Nougat bis Android P) enthalten, und Sie können damit hervorragend arbeiten.

  • Um noch mehr zu minimieren, behalten Sie einfach eine der folgenden Versionen bei und behalten Sie eine niedrigere Version bei, dh API 16 mit denselben heruntergeladenen Dateien wie unten.

rtpiw

gMesu

Benutzer-Avatar
Kevin ABRIOUX

Es gibt die Möglichkeit, das System-Image sicher zu entfernen

Gehen Sie in der Symbolleiste in den SDK-Manager:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Gehen Sie in das Android SDK:

Geben Sie hier die Bildbeschreibung ein

Deaktivieren Sie auf der Registerkarte SDK-Plattformen, welche Plattform Sie deinstallieren möchten:

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf OK und bestätigen Sie das Löschen:

Geben Sie hier die Bildbeschreibung ein

Benutzer-Avatar
Narender Gusain

Durch das Löschen aller Emulatoren wird der Speicher manchmal nicht auf unsere Erwartung reduziert. Öffnen Sie also unten den Pfad in Ihrem c-Laufwerk

C:\Benutzer{Benutzername}.android\avd

In diesem AVD-Ordner können Sie alle AVDs sehen, die Sie zuvor erstellt haben. Sie müssen also alle avds löschen, die alle unbenutzten Leerzeichen entfernen, die von Ihrem Emulator erfasst werden. Dann erstellen Sie den neuen Emulator für Sie.

1350770cookie-checkAndroid SDK-Ordner nimmt viel Speicherplatz ein. Müssen wir alle System-Images behalten?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy