La carpeta del SDK de Android ocupa mucho espacio en el disco. ¿Necesitamos mantener todas las imágenes del sistema?

247

Hay muchas imágenes del sistema que se acumulan en mi disco en la carpeta sdk de Android. Apenas uso el emulador. Puede ser una vez en 6 meses. La mayor parte de mi desarrollo es directamente en el dispositivo. Lo que quería comprobar era si la eliminación de las imágenes del sistema (al menos para el antiguo APIS, es decir, <22) afectará el desarrollo.

Además, la carpeta de apis de google se ve a continuación. ¿Debo mantenerlo para todas las versiones o solo para la última?

ingrese la descripción de la imagen aquí

La captura de pantalla anterior es de la herramienta WinDirStat. - https://windirstat.net

AndroidMechanic - Viral Patel
fuente
¡Gracias! ¿Qué pasa con la carpeta google_apis ... puedo eliminarlos también? ¿Eso afectará mi depuración en el dispositivo?
AndroidMechanic - Viral Patel
25
Si alguien estaba interesado, el analizador de espacio en disco en la imagen se llama WinDirStat .
Tomáš Zato - Restablece a Mónica el
44
Nota al margen: ¡Tan simple como hacer un du -sh * en Linux box!
Usuario3
en Linux para ver los directorios más grandes: du -m ~ / src / android-sdk-linux | sort -n | tail -100
Scott Stensland
@lijo actualizó la pregunta
AndroidMechanic - Viral Patel

Respuestas:

204

Las imágenes del sistema son sistemas operativos Android preinstalados y solo los utilizan los emuladores. Si utiliza su dispositivo Android real para la depuración, ya no los necesita, por lo que puede eliminarlos todos.

La forma más limpia de eliminarlos es mediante SDK Manager. Abre SDK Manager y desmarca esas imágenes del sistema y luego aplica.

También puede eliminar otros componentes (p. Ej., Niveles de SDK anteriores) que no sirven.

frogatto
fuente
Gracias por la respuesta detallada abforce ... lo deja claro. Una última duda. La carpeta google_apis que se ve dentro de cada versión de Android en la captura de pantalla anterior también se requiere solo para las imágenes del sistema, ¿verdad? ¿Se pueden quitar también?
AndroidMechanic - Viral Patel
Podemos pasar los archivos a otra unidad, si es sí, entonces lo que todas las necesidades de ajuste se realiza moviendo después las imágenes
Sameer
@sameer Puede moverlo y luego apuntar su IDE a donde está el SDK Manager. Lo intenté una vez, pero hizo que mi Eclipse tardara 5 minutos en abrirse cada vez ... ¡eliminar las imágenes del sistema me ahorró 40 GB en mi SSD!
Demonslay335
Hay muchas herramientas de compilación de Android SDK en mi administrador de SDK, ¿eliminar las revisiones anteriores puede causar algún error o afectar el rendimiento?
Shima Erfan
140

No necesita conservar las imágenes del sistema a menos que quiera usar el emulador en su escritorio. Junto con él, puede eliminar otras cosas no deseadas para liberar espacio en el disco .

Agregando como respuesta a mi propia pregunta, ya que he tenido que narrar esto a las personas de mi equipo más de unas pocas veces. De ahí esta respuesta como referencia para compartir con otros curiosos.

En las últimas semanas hubo varios colegas que me preguntaron cómo deshacerme de las cosas no deseadas para liberar espacio en el disco (la mayoría de ellos eran principiantes). Los redirigí a esta pregunta pero volvieron a mí por pasos. Entonces, para los principiantes de Android, aquí hay una guía paso a paso para eliminar de forma segura cosas no deseadas.

Nota

  • No elimine ciegamente todo directamente del disco que "cree" que no es necesario ocupar. Lo hice una vez y tuve que volver a descargar.
  • Asegúrese de tener una lista de todos los proyectos activos con el tipo de emuladores (si los hay) y los niveles de API y las herramientas de compilación necesarias para que estos continúen trabajando / compilando correctamente.

Primero, asegúrese de no utilizar emuladores y siempre desarrollará en un dispositivo físico. En caso de que necesite emuladores, anote los niveles de API y el tipo de emuladores que necesitará. No los quites. Para el resto, siga los pasos a continuación:

Pasos para eliminar de forma segura cosas no deseadas de la carpeta del SDK de Android en el disco

  1. Abra el Administrador de SDK de Android independiente. Para abrir, realice una de las siguientes acciones:
  • Haga clic en el botón SDK Manager en la barra de herramientas en Android Studio o eclipse
  • En Android Studio, vaya a configuración y busque "Android SDK". Haga clic en Android SDK -> "Abrir Standalone SDK Manager"
  • En Eclipse, abra el menú "Ventana" y seleccione "Android SDK Manager"
  • Vaya a la ubicación del directorio android-sdk en su computadora y ejecute "SDK Manager.exe"

.

  1. Desmarca todos los elementos que terminan en "Imagen del sistema". Cada nivel de API tendrá más de unos pocos. En caso de que necesite algunos y haya calculado que la lista ya los dejó marcados para evitar perderlos y tener que volver a descargarlos.

.

  1. Opcional (puede ayudar a ahorrar una cantidad marginalmente mayor de espacio en disco): para liberar más espacio, también puede desmarcar por completo los niveles de API no necesarios. Tenga cuidado nuevamente para evitar volver a descargar algo que realmente está usando en otros proyectos.

.

  1. Al final, asegúrese de tener al menos lo siguiente (verifique la imagen a continuación) para que los niveles de API restantes puedan funcionar sin problemas con su dispositivo físico.

Al final, los componentes instalados de Android SDK limpios deberían verse así en el administrador del SDK.

ingrese la descripción de la imagen aquí

AndroidMechanic - Viral Patel
fuente
99
Eliminar las imágenes del sistema en el administrador de SDK es la solución más limpia. Esto debería al menos tener más votos a favor, o incluso ser la respuesta aceptada.
Levite
44
Gracias @Levit, esta es una respuesta a mi propia pregunta que publiqué más tarde porque pensé que las personas se beneficiarían al conocer este enfoque. La respuesta que he marcado como aceptada es la que realmente me ayudó esa vez.
AndroidMechanic - Viral Patel
1
Esto fue muy útil, gracias. La única modificación a sus pasos que sugeriría es el paso 2. Desea VERIFICAR los elementos que desea eliminar y luego haga clic en el botón Eliminar paquetes en la parte inferior derecha. ¡Gracias de nuevo!
Adam Plocher
Muchas gracias, no sabía que el SDK estaba descargando imágenes del emulador (mi Mac estaba llorando se quedó sin espacio hasta que vi esta publicación).
ScarletMerlin
La pregunta es " ¿Necesitamos conservar todas las imágenes del sistema? " Y esto no responde a esa pregunta.
user34660
8

Tenía 20.8 GB en la carpeta C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images (6 imágenes de Android: - android-10 - android-15 - android-21 - android-23 - android-25 - Android-26).

Comprimí la carpeta C: \ Users \ ggo \ AppData \ Local \ Android \ Sdk \ system-images.

Ahora solo lleva 4,65 GB.

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

No encontré ningún problema hasta ahora ...

La compresión parece variar de 2/3 a 6, a veces mucho más:

android-10

android-23

android-25

android-26

ggo
fuente
1
¿Cómo lo comprimiste?
krv
1
haga clic derecho en la carpeta para comprimir (carpeta de imágenes del sistema aquí) => Propiedades => Avanzado => habilitar "Comprimir contenido para ahorrar espacio en disco" => Aceptar => Aplicar => seleccione "Aplicar cambios a esta carpeta, subcarpetas y archivos "(debe seleccionarse de forma predeterminada) y haga clic en Aceptar. (puede ser mejor salir de Android Studio y cerrar los emuladores que se están ejecutando actualmente antes de comprimir, ya que algunos archivos pueden estar bloqueados).
ggo
3
Esto afectará el rendimiento, así que hágalo solo para archivos raramente usados ​​(excluyendo archivos ya comprimidos como foto, video, zip, jar, etc.).
Leon
6

Recomiendo dos pasos para abordar el problema del SDK hinchado.

Primero, eliminé todas las versiones de Android excepto dos:

  1. La versión actual, por ejemplo, 6.0 Marshmallow a partir de este escrito. Esta versión es para probar y desarrollar lo último y mejor que están funcionando los teléfonos Nexus actuales, además de un par de otras marcas.

  2. Una versión anterior, por ejemplo, 4.04 Ice Cream Sandwich. Esto es para proporcionar compatibilidad para la gran mayoría de los teléfonos. Pierde alguna funcionalidad de las versiones más nuevas, pero obtiene el mínimo común denominador de compatibilidad.

En segundo lugar, eliminé los emuladores y guardé solo los dos anteriores. Le dije que no almacenara el estado completo del sistema en el disco, lo que sí advierte que ocupará mucho espacio, aunque hace que el arranque sea más rápido. Simplemente inicie el emulador antes de ir a preparar su café por la mañana :)

Si eso es demasiado espacio, elimine los emuladores por completo. Levante un par de teléfonos más antiguos de Ebay que le proporcionarán todas las plataformas de prueba que necesita. Ni siquiera tienen que ser completamente funcionales: muchas aplicaciones no necesitan una SIM y conectividad celular, por ejemplo.

Mi entorno Android estaba ocupando 32 conciertos en mi Macbook Air de 128 conciertos. No se pudo seguir haciendo esto. Algún día fabricarán terabytes Macbook Airs, pero hasta entonces, adelgazaron.

Blisterpeanuts
fuente
La pregunta original dice " La mayor parte de mi desarrollo está directamente en el dispositivo ", pero para todos los que usamos un emulador, esta es la única respuesta a la pregunta " ¿Necesitamos conservar todas las imágenes del sistema? ".
usuario34660
5

Esto es lo mínimo que guardo para el desarrollo diario de Android (incluido el código de producción). Solo se incluyen las últimas versiones de API 25 a API 27 (Nougat a Android P), y puedes trabajar muy bien con él.

  • Para minimizar aún más, simplemente mantenga cualquiera de las versiones a continuación igual y mantenga una versión inferior, es decir, API 16 con los mismos archivos descargados como se muestra a continuación.

Sneh Pandya
fuente
4

Hay una manera de eliminar de forma segura la imagen del sistema

Ir en SDK Manager en la barra de herramientas:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Ir en Android SDK:

ingrese la descripción de la imagen aquí

En la pestaña Plataformas del SDK, desmarca la plataforma que deseas desinstalar:

ingrese la descripción de la imagen aquí

Haga clic en Aceptar y confirme la eliminación:

ingrese la descripción de la imagen aquí

Kevin ABRIOUX
fuente
1

Además de las otras respuestas, el siguiente directorio contiene imágenes borrables del sistema en una Mac para Android Studio 2.3.3. Pude eliminar los directorios android-16 y android-17 sin ningún problema porque no tenía ningún emulador que los usara. (Mantuve el android-24 que estaba en uso).

$ 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    .
Gareth Randall
fuente
1

Al eliminar todo el emulador, a veces la memoria no se reducirá a nuestras expectativas. Entonces, abra la ruta de mención a continuación en su unidad c

C: \ Usuarios {Nombre de usuario} .android \ avd

En esta carpeta avd, puede ver todos los avd que creó anteriormente. Por lo tanto, debe eliminar todos los AVD que eliminarán todos los espacios no utilizados por el emulador. Que crear el nuevo emulador para tus trabajos.

Narender Gusain
fuente
0

En esta carpeta hay todas las imágenes del emulador. Si no usa el emulador, puede eliminar esta carpeta.

Ahmad Nawaz
fuente