Dossier SDK Android prenant beaucoup d'espace disque. Avons-nous besoin de conserver toutes les images système?


248

Il y a beaucoup d'images système s'accumulant sur mon disque dans le dossier android sdk. j'utilise à peine l'émulateur. Peut être une fois tous les 6 mois. La plupart de mon développement se fait directement sur appareil. Ce que je voulais vérifier était: la suppression des images du système (au moins pour l'ancien APIS, c'est-à-dire <22) aura-t-elle un impact sur le développement?

En outre, le dossier google apis vu ci-dessous. Dois-je le garder pour toutes les versions ou juste celui de la dernière version suffit?

entrez la description de l'image ici

La capture d'écran ci-dessus provient de l'outil WinDirStat. - https://windirstat.net


Merci! qu'en est-il du dossier google_apis .... puis-je également les supprimer? cela affectera-t-il mon débogage sur l'appareil?
AndroidMechanic - Viral Patel

25
Si quelqu'un était intéressé, l'analyseur d'espace disque sur l'image s'appelle WinDirStat .
Tomáš Zato - Rétablir Monica

4
Note latérale: Aussi simple que de faire une boîte du -sh * sur Linux!
User3

sur linux pour voir les plus gros répertoires: du -m ~ / src / android-sdk-linux | sort -n | tail -100
Scott Stensland

@lijo a mis à jour la question
AndroidMechanic - Viral Patel

Réponses:


205

Les images système sont des systèmes d'exploitation Android préinstallés et ne sont utilisées que par les émulateurs. Si vous utilisez votre véritable appareil Android pour le débogage, vous n'en avez plus besoin, vous pouvez donc tous les supprimer.

La façon la plus simple de les supprimer est d'utiliser le SDK Manager. Ouvrez le SDK Manager et décochez ces images système, puis appliquez.

N'hésitez pas à supprimer d'autres composants (par exemple, les anciens niveaux du SDK) qui ne sont pas utiles.


Merci pour la réponse détaillée abforce ... le dit clairement. Un dernier doute. Le dossier google_apis vu à l'intérieur de chaque version Android dans la capture d'écran ci-dessus n'est également requis que pour les images du système, n'est-ce pas? ils peuvent aussi être enlevés?
AndroidMechanic - Viral Patel

pouvons-nous déplacer ces fichiers sur un lecteur différent, si oui, alors ce que tous les paramètres doivent être effectués après le déplacement des images
même

@sameer Vous pouvez le déplacer, puis pointer votre IDE vers l'emplacement du gestionnaire du SDK. J'ai essayé une fois, mais cela a pris 5 minutes à mon Eclipse pour s'ouvrir à chaque fois ... la suppression des images système m'a fait économiser 40 Go sur mon SSD!
Demonslay335

Il existe de nombreux outils de création de SDK Android dans mon gestionnaire de SDK, la suppression des anciennes révisions peut entraîner une erreur ou affecter les performances.
Shima Erfan

140

Vous n'avez pas besoin de conserver les images système, sauf si vous souhaitez utiliser l'émulateur sur votre bureau. Parallèlement, vous pouvez supprimer d'autres éléments indésirables pour effacer l'espace disque .

J'ajoute une réponse à ma propre question car j'ai dû en parler plus d'une fois aux membres de mon équipe. D'où cette réponse comme référence à partager avec d'autres curieux.

Au cours des dernières semaines, plusieurs collègues m'ont demandé comment me débarrasser en toute sécurité des éléments indésirables pour libérer de l'espace disque (la plupart étaient des débutants). Je les ai redirigés vers cette question mais ils sont revenus vers moi pour des étapes. Donc, pour les débutants Android, voici un guide étape par étape pour supprimer en toute sécurité les éléments indésirables.

Remarque

  • Ne supprimez pas aveuglément tout directement du disque que vous "pensez" qu'il n'est pas nécessaire d'occuper. Je l'ai fait une fois et j'ai dû télécharger à nouveau.
  • Assurez-vous d'avoir une liste de tous les projets actifs avec le type d'émulateurs (le cas échéant) et les niveaux d'API et les outils de construction requis pour que ceux-ci continuent à fonctionner / compiler correctement.

Tout d'abord, assurez-vous que vous n'utiliserez pas d'émulateurs et que vous ferez toujours votre développement sur un appareil physique. Si vous avez besoin d'émulateurs, notez les niveaux d'API et le type d'émulateurs dont vous aurez besoin. Ne les enlevez pas. Pour le reste, suivez les étapes ci-dessous:

Étapes pour supprimer en toute sécurité les éléments indésirables du dossier SDK Android sur le disque

  1. Ouvrez le Gestionnaire de SDK Android autonome. Pour ouvrir, effectuez l'une des opérations suivantes:
  • Cliquez sur le bouton Gestionnaire de SDK dans la barre d'outils dans Android Studio ou Eclipse
  • Dans Android Studio, accédez aux paramètres et recherchez «SDK Android». Cliquez sur Android SDK -> "Open Standalone SDK Manager"
  • Dans Eclipse, ouvrez le menu "Fenêtre" et sélectionnez "Android SDK Manager"
  • Accédez à l'emplacement du répertoire android-sdk sur votre ordinateur et exécutez "SDK Manager.exe"

.

  1. Décochez tous les éléments se terminant par "Image système". Chaque niveau d'API en aura plusieurs. Dans le cas où vous en avez besoin et que vous avez déjà compris la liste, laissez-les vérifiées pour éviter de les perdre et de devoir les télécharger à nouveau.

.

  1. Facultatif (peut aider à économiser un peu plus d'espace disque): pour libérer un peu plus d'espace, vous pouvez également décocher entièrement les niveaux d'API non requis. Soyez à nouveau prudent pour éviter de retélécharger quelque chose que vous utilisez réellement dans d'autres projets.

.

  1. À la fin, assurez-vous d'avoir au moins les éléments suivants (voir l'image ci-dessous) pour que les niveaux d'API restants puissent fonctionner de manière transparente avec votre appareil physique.

En fin de compte, les composants installés sdk android propres devraient ressembler à ceci dans le gestionnaire de SDK.

entrez la description de l'image ici


9
La suppression des images système dans le gestionnaire SDK est la solution la plus propre. Cela devrait au moins avoir plus de votes positifs, ou même être la réponse acceptée.
Lévite

4
Merci @Levit c'est une réponse à ma propre question que j'ai postée plus tard parce que je pensais que les gens bénéficieraient de connaître cette approche. La réponse que j'ai marquée comme acceptée est celle qui m'a réellement aidé à ce moment-là.
AndroidMechanic - Viral Patel

1
Cela a été très utile, merci. La seule modification à vos étapes que je suggérerais est l'étape 2. Vous souhaitez VÉRIFIER les éléments que vous souhaitez supprimer, puis cliquez sur le bouton Supprimer les packages en bas à droite. Merci encore!
Adam Plocher

Merci beaucoup, je ne savais pas que le sdk téléchargeait des images d'émulateur (mon mac pleurait, il manquait d'espace jusqu'à ce que je voie ce post).
ScarletMerlin

La question est " Avons-nous besoin de conserver toutes les images système? " Et cela ne répond pas à cette question.
user34660

8

J'avais 20,8 Go dans le dossier C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images (6 images android: - android-10 - android-15 - android-21 - android-23 - android-25 - android-26).

J'ai compressé le dossier C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images.

Maintenant, il ne faut plus que 4,65 Go.

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

Je n'ai rencontré aucun problème jusqu'à présent ...

La compression semble varier de 2/3 à 6, parfois beaucoup plus:

android-10

android-23

android-25

android-26


1
comment l'avez-vous compressé?
krv

1
clic droit sur le dossier à compresser (dossier images système ici) => Propriétés => Avancé => activer "Compresser le contenu pour économiser de l'espace disque" => OK => Appliquer => sélectionner "Appliquer la modification à ce dossier, sous-dossiers et fichiers "(doit être sélectionné par défaut), puis cliquez sur OK. (il peut être préférable de quitter Android Studio et de fermer les émulateurs en cours d'exécution avant la compression, car certains fichiers peuvent être verrouillés).
ggo

3
Cela aura un impact sur les performances, donc ne le faites que pour les fichiers rarement utilisés (à l'exclusion des fichiers déjà compressés comme la photo, la vidéo, le zip, le bocal, etc.).
Leon

6

Je recommande deux étapes pour résoudre le problème ballonné du SDK.

Tout d'abord, j'ai supprimé toutes les versions d'Android sauf deux:

  1. La version actuelle, par exemple 6.0 Marshmallow au moment de la rédaction de cet article. Cette version est destinée à tester et à développer au plus récent et au plus grand fonctionnement des combinés Nexus actuels ainsi que quelques autres marques.

  2. Une version plus ancienne, par exemple 4.04 Ice Cream Sandwich. Il s'agit de fournir une compatibilité pour la grande majorité des combinés. Vous perdez certaines fonctionnalités des versions les plus récentes, mais vous obtenez le plus petit dénominateur commun de compatibilité.

Deuxièmement, j'ai retiré les émulateurs et n'ai conservé que les deux ci-dessus. Je lui ai dit de ne pas stocker l'état complet du système sur le disque, ce qui avertit en effet que vous prendrez beaucoup d'espace, bien que cela accélère le démarrage. Il suffit de démarrer l'émulateur avant de faire votre café le matin :)

Si c'est trop d'espace, retirez complètement les émulateurs. Prenez quelques anciens combinés sur Ebay qui vous fourniront toutes les plates-formes de test dont vous avez besoin. Ils n'ont même pas besoin d'être complètement fonctionnels - de nombreuses applications n'ont pas besoin d'une carte SIM et d'une connectivité cellulaire, par exemple.

Mon environnement Android prenait 32 concerts sur mon Macbook Air de 128 Go. Je ne pouvais pas continuer à faire ça. Un jour, ils feront des MacBook Air téraoctets, mais jusque-là, ils doivent perdre du poids.


La question d'origine dit " La plupart de mon développement est directement sur l'appareil. " Mais pour nous tous qui utilisons un émulateur, c'est la seule réponse à la question " Avons-nous besoin de conserver toutes les images système? ".
user34660

5

C'est le minimum que je garde pour le développement Android quotidien (y compris le code de production). Les dernières versions d'API 25 à API 27 (Nougat à Android P) sont incluses uniquement, et vous pouvez très bien travailler avec.

  • Pour minimiser encore plus, il suffit de garder l'une des versions ci-dessous identique et de conserver une version inférieure, c'est-à-dire l'API 16 avec les mêmes fichiers téléchargés comme ci-dessous.


4

Il existe un moyen de supprimer l'image système en toute sécurité

Allez dans SDK Manager dans la barre d'outils:

entrez la description de l'image ici

entrez la description de l'image ici

Allez dans le SDK Android:

entrez la description de l'image ici

Dans l'onglet SDK Platforms, décochez la plateforme que vous souhaitez désinstaller:

entrez la description de l'image ici

Cliquez sur OK et confirmez la suppression:

entrez la description de l'image ici


1

En plus des autres réponses, le répertoire suivant contient des images système supprimables sur un Mac pour Android Studio 2.3.3. J'ai pu supprimer les répertoires android-16 et android-17 sans aucun problème car je n'avais pas d'émulateurs qui les utilisaient. (J'ai gardé l'androïde-24 qui était en cours d'utilisation.)

$ pwd
/Users/gareth/Library/Android/sdk/system-images

$ du -h
2.5G    ./android-16/default/x86
2.5G    ./android-16/default
2.5G    ./android-16/google_apis/x86
2.5G    ./android-16/google_apis
5.1G    ./android-16
2.5G    ./android-17/default/x86
2.5G    ./android-17/default
2.5G    ./android-17
3.0G    ./android-24/default/x86_64
3.0G    ./android-24/default
3.0G    ./android-24
 11G    .

1

En supprimant tous les émulateurs, la mémoire ne sera parfois pas réduite à nos attentes. Alors ouvrez le chemin de mention ci-dessous dans votre lecteur c

C: \ Users {Username} .android \ avd

Dans ce dossier avd, vous pouvez voir tous les avd que vous avez créés précédemment. Vous devez donc supprimer tous les avd qui supprimeront tous les espaces inutilisés saisis par votre émulateur. Ensuite, créez le nouvel émulateur pour vous.


0

Dans ce dossier, il y a toutes les images de l'émulateur. Si vous n'utilisez pas d'émulateur, vous pouvez supprimer ce dossier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.