Android Studio prend de la place sur Mac : SDK, émulateurs et Gradle

Publié le 8 min de lecture

Android Studio pèse bien plus que son app. Le SDK, les émulateurs, les caches de Gradle et les dossiers de chaque ancienne version s'empilent à quatre endroits du Mac. On mesure, puis on trie avec les outils d'Android Studio et de Gradle, du plus sûr au plus radical.

Tu as installé Android Studio pour un projet, et ton disque fond depuis. L'app elle-même n'est pas la coupable. Ce qui grossit, c'est tout ce qu'elle télécharge et fabrique autour : les plateformes du SDK, les images système des émulateurs, les téléphones virtuels, les caches de Gradle, et un jeu de dossiers par version de l'IDE.

Rien de tout ça n'est dans le dossier Applications. Quatre endroits sont à surveiller. On les mesure d'abord, puis on fait le tri avec les outils prévus, sans casser tes projets.

1. Voir ce qui pèse vraiment

Voici où Android Studio range ses affaires sur un Mac, d'après la documentation d'Android :

  • Le SDK : ~/Library/Android/sdk. Les variables d'environnement d'Android le donnent comme chemin type sur macOS. Tu as changé d'emplacement ? Le vrai chemin est affiché en haut de Tools > SDK Manager.
  • Les appareils virtuels : ~/.android/avd, un dossier par émulateur.
  • Gradle : ~/.gradle, que Gradle appelle son dossier utilisateur.
  • L'IDE lui-même : un dossier AndroidStudio suivi du numéro de version, dans ~/Library/Caches/Google, ~/Library/Application Support/Google et ~/Library/Logs/Google, d'après la page des problèmes connus.

Les deux dossiers qui commencent par un point sont cachés. Pour les voir dans le Finder, notre guide pour afficher les fichiers cachés donne le raccourci. Sinon, choisis Aller > Aller au dossier, colle le chemin, sélectionne le dossier et appuie sur Commande + I pour lire sa taille.

Plus rapide, le Terminal affiche les trois gros d'un coup, sans rien modifier :

du -sh ~/Library/Android/sdk ~/.android ~/.gradle

L'option -s donne une ligne par dossier, -h écrit les tailles en Go ou en Mo. Note les chiffres : ils te disent par où commencer.

2. Supprimer les émulateurs dont tu ne te sers plus

Chaque appareil virtuel (un AVD, dans le jargon d'Android) a son propre espace de stockage. La page sur les appareils virtuels précise qu'il garde les apps installées, les paramètres et une carte SD émulée. Trois téléphones virtuels créés pour trois tests, c'est trois dossiers qui grossissent.

Pour en retirer un :

  1. Ouvre le Device Manager : View > Tool Windows > Device Manager dans un projet, ou More Actions > Virtual Device Manager depuis l'écran d'accueil.
  2. Dans l'onglet Virtual, ouvre le menu de l'appareil.
  3. Choisis Delete.

Pour garder l'appareil en effaçant ses données, le même menu propose Wipe Data. Show on Disk t'emmène à ses fichiers.

Sans Android Studio, l'outil en ligne de commande avdmanager fait la même chose. avdmanager list avd liste tes appareils, puis avdmanager delete avd -n suivi du nom en retire un.

3. Désinstaller les plateformes et images système en trop

Sur beaucoup de Mac, c'est le plus lourd. Une image système, c'est le système Android que l'émulateur fait tourner. D'après la page sur l'émulateur en ligne de commande, elles vivent dans ~/Library/Android/sdk/system-images, rangées par niveau d'API, par variante et par type de processeur. Une même image sert à tous les AVD du même type. Supprimer un émulateur ne retire donc pas son image : elle reste dans le SDK.

Même logique pour les plateformes, une par version d'Android que tu as téléchargée pour compiler.

Pour faire le ménage, suis la méthode de la page Mettre à jour l'IDE et les outils SDK :

  1. Ouvre Tools > SDK Manager.
  2. Dans l'onglet SDK Platforms, décoche les versions dont tu n'as plus besoin. Une croix rouge marque chaque suppression en attente.
  3. Fais de même dans SDK Tools si un outil ne te sert plus.
  4. Clique sur Apply ou OK.

Une règle à garder : Android demande d'installer au moins une version de la plateforme pour compiler ton app. Garde celle que tes projets ciblent.

Par le Terminal, l'outil sdkmanager liste ce qui est installé avec sdkmanager --list, puis retire un paquet avec --uninstall suivi de son chemin entre guillemets :

sdkmanager --uninstall "platforms;android-36"

Remplace android-36 par la version que tu veux retirer, telle que l'affiche --list.

4. Les caches de Gradle

Gradle, l'outil qui compile tes projets Android, garde beaucoup de choses dans ~/.gradle. Sa documentation y liste le dossier caches (les bibliothèques téléchargées et les résultats de compilation), le dossier wrapper/dists (les versions de Gradle téléchargées par tes projets), le dossier jdks et les journaux du daemon.

Bonne nouvelle : Gradle fait déjà le ménage seul. Par défaut, une fois toutes les 24 heures, il retire les caches d'une version de Gradle inutilisée depuis 30 jours. Il supprime aussi les fichiers partagés que personne n'a lus depuis 7 ou 30 jours, les versions de Gradle téléchargées devenues inutiles et les journaux de plus de 14 jours. Le nettoyage tourne en arrière-plan quand le daemon s'arrête.

Si ~/.gradle reste énorme malgré tout, tu peux vider le dossier caches toi-même. Gradle ne donne pas de procédure pour ça, alors sois prudent :

  1. Quitte Android Studio.
  2. Arrête le daemon avec gradle --stop, comme l'indique la page du daemon. Pas de commande gradle sur ton Mac ? Le daemon s'arrête seul après 3 heures d'inactivité, ou redémarre le Mac.
  3. Mets ~/.gradle/caches à la Corbeille. Laisse en place le fichier gradle.properties et le dossier init.d : ce sont tes réglages.

La compilation suivante retélécharge ce qui manque. Elle sera plus longue, et il te faudra une connexion.

Chaque projet a aussi un dossier .gradle et des dossiers build à sa racine. Ce sont des fichiers produits par la compilation, pas ton code.

5. Les dossiers des anciennes versions d'Android Studio

Chaque version majeure d'Android Studio crée ses propres dossiers de caches, de réglages, d'index et de journaux. Les anciens restent après une mise à jour.

Android Studio sait les repérer. Au premier lancement d'une nouvelle version majeure, la boîte de dialogue Delete Unused Android Studio Directories liste les dossiers des versions qui ne sont plus installées, avec leur taille et leur date. Tu coches, elle supprime.

Tu l'as fermée trop vite ? Va dans les trois dossiers Google de ta Bibliothèque cités à l'étape 1. Chaque version y a son dossier, par exemple AndroidStudio suivi de l'année et du numéro. Les versions de test s'appellent AndroidStudioPreview. Mets à la Corbeille ceux des versions que tu n'as plus, jamais celui de la version que tu utilises. Notre visite du dossier Bibliothèque explique le reste de ce dossier.

6. File > Invalidate Caches : utile, mais pas magique

Android Studio est basé sur IntelliJ IDEA, et on y retrouve sa commande File > Invalidate Caches. D'après l'aide de JetBrains, elle supprime les caches de tous les projets ouverts avec la version actuelle de l'IDE. Ils sont recréés à la prochaine ouverture de chaque projet.

Rien n'est effacé tant que tu n'as pas redémarré : clique sur Invalidate and Restart. Le bouton Just restart redémarre sans rien supprimer. Ton historique local reste en place, sauf si tu coches l'option qui le vide.

Cette commande sert surtout à réparer un IDE qui se comporte bizarrement. Pour la place, les étapes 2 à 4 rapportent plus.

7. Retirer Android Studio pour de bon

Tu ne fais plus d'Android ? Mets l'app Android Studio à la Corbeille, puis retire ce qu'elle laisse :

  • les dossiers AndroidStudio des trois dossiers Google de ta Bibliothèque ;
  • le SDK, dans ~/Library/Android/sdk ;
  • le dossier caché ~/.android, qui contient tes émulateurs et tes préférences d'outils ;
  • ~/.gradle, seulement si aucun autre outil ne se sert de Gradle sur ton Mac.

Tes projets ne font pas partie de cette liste : vérifie juste qu'aucun n'est rangé dans un de ces dossiers. Pour la méthode générale, notre guide pour désinstaller une application sur Mac détaille chaque étape.

Autres outils de développeur, autres recoins : Xcode, Docker et Homebrew ont chacun leur guide. Disque toujours plein ? Fais le tour avec Stockage Mac plein.

Ce que CleanMochi fait, et ne fait pas, avec Android Studio

CleanMochi, c'est l'app que nous faisons pour les Mac. Voici ce que fait son code actuel.

Ce qu'il ne fait pas. Il ne connaît ni le SDK Android, ni ~/.android, ni ~/.gradle. Sa catégorie Caches de développement vise Xcode, npm et Homebrew, rien d'Android. Son écran Gros fichiers saute la Bibliothèque et les dossiers cachés : il ne voit donc ni les images système, ni les émulateurs, ni les caches de Gradle. Il ne lance aucune commande sdkmanager, avdmanager ou gradle. Les étapes 2 à 5 se font avec Android Studio et Gradle.

Ce qu'il voit quand même. Dans l'écran Nettoyage, Fichiers temporaires des apps liste chaque dossier de ~/Library/Caches qui pèse 1 Mo ou plus. Les caches d'Android Studio n'y ont pas de ligne à eux : ils sont dans la ligne Google, qui peut aussi contenir ceux d'autres apps Google comme Chrome. Journaux des apps fait pareil avec ~/Library/Logs. Ces deux catégories sont cochées d'office et leur contenu est supprimé pour de bon, sans passer par la Corbeille. Quitte Android Studio avant : CleanMochi ne relie pas le dossier Google à Android Studio ouvert.

À la désinstallation. L'écran Applications met Android Studio à la Corbeille, avec les éléments de ta Bibliothèque qui portent son nom ou son identifiant. Les dossiers AndroidStudio rangés dans les dossiers Google n'en font pas partie, ni le SDK : l'étape 7 reste à faire. Le bouton Annuler remet l'app en place tant que la Corbeille n'est pas vidée.

CleanMochi est en bêta ouverte, téléchargeable sur cleanmochi.com.

À lire aussi

Questions fréquentes

Pourquoi Android Studio prend-il autant de place sur Mac ?

Parce qu'il télécharge le SDK, des images système pour l'émulateur et des bibliothèques pour Gradle, et qu'il garde des caches pour chaque version de l'IDE. Tout ça vit hors du dossier Applications, surtout dans ~/Library/Android/sdk, ~/.android et ~/.gradle.

Où se trouve le SDK Android sur Mac ?

Par défaut dans ~/Library/Android/sdk. Le chemin exact est affiché en haut de Tools > SDK Manager, et dans Appearance & Behavior > System Settings > Android SDK.

Comment supprimer une image système Android ?

Ouvre Tools > SDK Manager, décoche l'image ou la plateforme dans la liste, puis clique sur Apply. Par le Terminal, sdkmanager --uninstall suivi du chemin du paquet entre guillemets fait la même chose.

Peut-on supprimer le dossier .gradle ?

Gradle nettoie déjà ses caches seul toutes les 24 heures. Si tu veux vider ~/.gradle/caches toi-même, quitte Android Studio et lance gradle --stop avant. La compilation suivante retélécharge ce qui manque.

Supprimer un émulateur retire-t-il son image système ?

Non. Delete dans le Device Manager retire l'appareil et ses données. L'image système reste dans le SDK, partagée par les autres émulateurs : retire-la dans le SDK Manager.

Article rédigé par l'équipe de CleanMochi (AppsMochi, une marque de NORY LLC). Une erreur, un chemin qui a changé avec une nouvelle version de macOS ? Dis-le nous.