2017-10-10 3 views
1

J'ai fait beaucoup de recherches sur le web, et seulement partiellement j'ai compris ce que je devais faire.Android SDK prend une énorme quantité d'espace disque

Lorsque mon IDE (Android Studio) m'a rappelé que des mises à jour récentes sont disponibles pour le SDK Android, j'ai fourni pour les installer. Maintenant, je remarque que le répertoire Android-SDK occupe 87 Go de mémoire HDD. Cela parce que sont installés tous les API Android de l'ancienne version à la dernière nouvelle.

Aujourd'hui, j'ai décidé de supprimer tout le répertoire SDK et d'effectuer une installation propre de l'outil SDK. Ce que je demande, c'est quelles sont les choses minimales que je dois installer à partir du gestionnaire SDK pour être opérationnel pour Android Development. Considérer que mes applications doivent fonctionner à partir d'Android API 14 (4.0 IceCream) à la version API la moins disponible (actuellement en Octobre 2017 est API 25). Dans la dépendance, j'utilise un émulateur Android avec Lollipop 5.1 (API 22).

La dernière chose que je demande est quand il y a un nouveau disponible et je voudrais l'installer, devrais-je désinstaller toute la version de l'ancienne API pour empêcher le développement du SDK?

Ceci est la capture d'écran de mon gestionnaire Android Studio SKD. Comme vous pouvez le voir la seule API est cochée API Nougat 7.1.1 25. enter image description here

Ceci est une série de capture d'écran de détails du package du SDK directeur enter image description here enter image description here

enter image description here

Les autres sont tous décochés. Je dois dire que pour Android 5.1 Lollipop API 22, les coches apparaissent après avoir créé l'émulateur Android avec Lollipop installé. NB: Je n'ai besoin que de choses pour la programmation mobile, pas de télévision ou de Wearable.

+0

Je vous recommande de voir exactement ce que dans votre répertoire SDK Android prend l'espace. Par exemple, sous Linux, vous pouvez exécuter 'du -d 1 -m' pour voir la quantité d'espace disque utilisée par les répertoires SDK de niveau supérieur.Dans mon cas, ~ 80 Go est dans 'system-images', et c'est là que résident les images de l'émulateur. Si le vôtre est le même, désinstallez toutes les images de l'émulateur que vous n'utiliserez pas. – CommonsWare

+0

Le problème est que chaque fois que IDE m'a suggéré d'installer les mises à jour SDK je les ai installées et j'ai donc accumulé toute l'API (avec System Image, etc) – Vin

Répondre

2

est-ce que je devrais désinstaller toute l'ancienne version de l'API pour empêcher le développement du SDK?

Oui, vous pouvez le faire pour réduire la taille de l'espace pris par le SDK

Inconvénients: vous ne serez pas en mesure d'utiliser instant run si vous exécutez votre application sur l'appareil particulier sur sucettes et au-dessus.

Note: vous pouvez déposer ancienne version sous API 14 en tant que bibliothèque de soutien a également abandonné le soutien pour une version plus ancienne

From docs, Revision 26.0.0 Release (July 2017)

La version minimale du SDK a été augmenté à 14. Par conséquent, Beaucoup API qui n'existaient que pour la compatibilité avec les niveaux d'API antérieurs à 14 ont été obsolètes . Les clients de ces API doivent migrer vers leurs équivalents de structure , comme indiqué dans la page de référence pour chaque API obsolète .

+0

Par exemple si dans le fichier build.gradle de l'application, j'écris ces lignes : 'minSdkVersion 21' ' targetSdkVersion 25' Est-ce que je peux exécuter mon application sur un appareil disposant d'une API dans cette plage même si, dans SDK Manager, je n'ai pas installé l'API 21 ou une version supérieure? – Vin

+0

quelles lignes? Bien que vous ajoutiez des dépendances dans gradle pour selon votre API cible, support min (qui ne nécessite pas l'API dans le SDK sauf si vous voulez exécuter ap sur cette API), supporte les versions de la librairie, etc etc après avoir supprimé l'application. capable de fonctionner sur d'autres API, mais vous pouvez le tester sur l'émulateur –

+0

oui, mais pas sur l'émulateur mais sur les périphériques physiques –