Abr 032013
 
Artículo Android

Los propietarios de un dispositivo android nos encontramos frecuentemente con que tras instalar algunas aplicaciones, empiezan a aparecer mensajes indicando que el espacio de almacenamiento interno está casi lleno. En ocasiones, este problema puede impedir la correcta instalación de actualizaciones de algunas aplicaciones “pesadas”, como Google Maps. En este artículo examinamos las posibilidades que tenemos para solucionar el problema.

Cómo analizar el uso de espacio de almacenamiento interno

El almacenamiento interno está dividido básicamente en dos particiones, /system y /data. Puede ocurrir que una de las particiones esté casi llena aunque en la otra haya sitio suficiente.

Para analizar en detalle el uso que hace el dispositivo del espacio disponible, podemos instalar de la Play Store la aplicación “DiskUsage“.

Con esta aplicación, en un móvil rooteado, podemos comprobar exactamente cuánto espacio queda disponible en cada una de estas particiones, y qué es lo que lo está ocupando:

DiskUsage

 

En la imagen de ejemplo, vemos que hay:

  • una partición ‘/data’ de 180,9 MB, de los cuales sólo quedan 34.2 MB libres. De ella, 56,4 MB están ocupados por la “dalvik-cache”, y 8,38 MB están ocupados por la cache del navegador web.
  • una partición ‘/system de 208 MB, de los cuales sólo quedan 18,1 MB libres. La partición ‘/system’ contiene todos los ficheros ‘.apk’ con el codigo de las aplicaciones instaladas.

Podemos liberar parte de la memoria ocupada en la partición ‘/data’ moviendo los directorios ‘cache’ de las distintas aplicaciones a la tarjeta SD.

Por otra parte, para liberar la memoria ocupada en la partición ‘/system’, debemos eliminar aplicaciones, o moverlas a la tarjeta SD.

A continuación veremos cómo realizar estas operaciones.

Mover los directorios cache a la tarjeta SD

Para realizar esta operación el móvil debe estar rooteado, y debemos tener acceso al mismo en modo línea de comandos, bien con la aplicación “Terminal Emulator”, o conectándonos desde un ordenador con ADB.

Con ello, podemos mover los directorios cache:

Para mover el directorio ‘/cache’

 umount /cache
 mount -o rw,remount -t rootfs rootfs /
 rmdir /cache
 mkdir /sdcard/cache
 ln -s /sdcard/cache /cache

Para mover la cache del navegador web:

 cd /data/data/com.android.browser/cache
 rm -R webviewCache
 mkdir /sdcard/cache/webviewCache
 ln -s /sdcard/cache/webviewCache webviewCache

Google Maps

 cd /data/data/com.google.android.apps.maps
 rm -R files
 mkdir /sdcard/cache/files/maps
 ln -s /sdcard/cache/files/maps files

Google StreetView

 cd /data/data/com.android.vending
 rm -R cache
 mkdir /sdcard/cache/marketCache
 ln -s /sdcard/cache/marketCache cache

Cache de Google Play

 cd /data/data/com.android.vending
 rm -R cache
 mkdir /sdcard/cache/marketCache
 ln -s /sdcard/cache/marketCache cache

Gmail

 cd /data/data/com.google.android.gm/cache
 rm -R webviewCache
 ln -s /sdcard/cache/webviewCache webviewCache

Voice Search

 cd /data/data/com.google.android.voicesearch/cache
 rm -R webviewCache
 ln -s /sdcard/cache/webviewCache webviewCache

Mover las aplicaciones a la tarjeta SD

1. Particionar la tarjeta SD

Para poder mover las aplicaciones a la tarjeta SD, hay que particionar previamente la tarjeta.

NOTA: La operación de particionar la tarjeta borra todos los ficheros que hubiera previamente en la misma, por lo que antes de realizar este paso hay que realizar una copia de seguridad de toda la información que se desee conservar.

Existen varias utilidades de Windows que permiten particionar un disco. Nosotros vamos a utilizar la aplicación gratuita MiniTool Partition Wizard.

En principio, basta con crear dos particiones. La primera partición es una partición “normal”. Esta particion será visible desde un ordenador conectado al móvil mediante USB. La segunda partición será la que se utilice para mover a ella las aplicaciones que están instaladas en el almacenamiento interno del móvil.

Opcionalmente, se puede crear una tercera partición de “swap”. Esta partición sólo será util si se utiliza una “custom ROM” Android que soporte swap (el kernel del sistema android que viene “de fábrica” no tiene soporte para swap). Para saber más acerca del uso de particiones swap se puede buscar en Google información sobre la aplicación “Swapper 2 (for root users)”

Tras insertar la tarjeta SD en el ordenador, arrancamos el Partition Wizard. La tarjeta aparece como “Disk 2” (E:) y tiene una partición FAT de 1,86 GB.

Partition-Wizard-1

 

Seleccionamos la partición existente, y pulsamos “Delete” en el menú superior.

A continuación, seleccionamos el espacio libre que ha quedado en el disco 2, y pulsamos “Create” en el menú superior. Con esto aparece un cuadro de diálogo en el que seleccionamos crear una partición Primaria, FAT32, de 500 MB, con la etiqueta “Datos”:

Partition-Wizard-2

 

Repetimos la operación, para crear una segunda partición Primaria, de tipo Ext2, de 1 GB, con la etiqueta “Apps”.

Por último, repetimos otra vez la operación para crear una tercera partición Primaria, de tipo “Linux swap”, con el espacio restante en la tarjeta, y sin etiqueta.

Tras esto, la tabla de particiones de la tarjeta queda como se ve en la figura:

Partition-Wizard-3

 

NOTA: En nuestro ejemplo, hemos creado una partición “Linux swap”, pero como ya hemos comentado, esto es opcional, y sólo es útil si en el dispositivo tenemos una “custom ROM” con soporte para swap. En su lugar, podríamos haber creado sólamente una partición “Datos” de 1 GB, y otra partición “Apps” de 1 GB.

Pulsamos “Apply” en el menú superior, y esperamos a que finalize el particionado. El cuadro de diálogo que aparece nos va informando del progreso de la operación:

Partition-Wizard-4

 

Una vez finalizado el particionado, podemos extraer la tarjeta del ordenador e insertarla en el dispositivo Android.

 

2. Instalar Link2SD y mover aplicaciones a la tarjeta

A continuación, instalamos en el móvil la aplicación link2sd. Con ella, vamos a poder decidir qué aplicaciones queremos mover a la partición Ext2 de la tarjeta SD.

Cuando se ejecuta por primera vez, link2sd solicita que indiquemos el tipo de sistema de archivos, y seleccionamos “ext2”. Al aceptar, el teléfono se reinicia.

shot_000001

 

Al ejecutar por segunda vez link2sd, nos presenta las novedades de la última versión, y a continuación nos presenta una lista de las aplicaciones que podemos mover a la tarjeta SD:

shot_000002shot_000003

Seleccionamos una aplicación que deseamos mover, como por ejemplo “Maps”, y nos presenta una pantalla en donde podemos seleccionar “Mover a la tarjeta SD”, o “Crear enlace”. Elegimos “Crear enlace”. En la siguiente pantalla, nos solicita confirmación para crear los enlaces de la aplicación, del “dalvik-cache” y de las librerías (el checkbox para el enlace de las librerías está desactivado porque la aplicación “Maps” no las utiliza).

shot_000004

shot_000006

Procedemos de la misma forma con el resto de las aplicaciones que nos interesa mover a la tarjeta SD, y ya está!

 Publicado por en 9:52 am

  7 Respuestas a “Cómo mover apps a la sd card en un dispositivo android”

  1. que pasa si en vez de darle crear enlace le doy mover a tarjeta sd ? yo tengo todo en la sd con la opción mover a la sd , hay algún problema ??

    • Hola Luis Diego,

      Para las aplicaciones que permiten ser instaladas en la tarjeta sd o movidas a la tarjeta sd, no hay necesidad ni supone ninguna ventaja aplicar el procedimiento de enlazarlas.

      Lo que ocurre es que no todas las aplicaciones permiten ser movidas a la tarjeta sd. Para las aplicaciones que no lo permiten, el procedimiento que se explica en este artículo permite “engañar” al sistema mediante un enlace simbólico, de manera que la aplicación aparece como instalada en la carpeta “/system” o “/data”, aunque haya sido copiada a la tarjeta sd.

  2. Muchas Gracias por la info. Creo que es un excelente artículo de los más útiles que he podido encontrar en internet sobre este tema (junto con http://www.xatakandroid.com/tutoriales/por-que-tengo-poco-espacio-en-android-las-particiones), antes de leer este artículo lo que hice para liberar espacio fue desinstalar las aplicaciones que venian preinstaladas en mi dispositivo y además instalé el Link2SD y moví las aplicaciones a la tarjeta SD sin saber que lo que realmente necesitaba era liberar el directorio data.

    Sin embargo aún me quedan dudas con respecto a poder identificar cuales archivos son de tipo cache y si se pueden mover de /data/ a /sdcard/cache/; otra duda es por qué en la segunda parte se necesita enlazar el dalvik-cache qué es lo que sucede al enlazar? la aplicación se mueve a la sd y además se crea el enlace a la carpeta data o system? . Un último detalle mencionas que la segunda partición debe ser de tipo ext2 pero yo la tenía con fat32 hay alguna diferencia?.

  3. hola tengo un motorola spice xt 300 e instale el link2sd pero no me pidio el tipo de sistema archivo y entro a las app para cambiar a la sd pero tampoco me da la opcion de cambiar de lugar. me gustaria saber porque me pasa eso y como puedo hacer para poder usar el link correctamente? ha el cel es root, gracias

    • Puede que la tarjeta SD no esté correctamente particionada. Puedes intentar particionarla de nuevo en dos particiones de tipo FAT32

  4. Se podrá hacer para la data de whatsapp? la apps la tengo en la sd pero la data la sigue enviando al espació interno del telefono.

    • El mecanismo que utiliza Link2SD es establecer un “enlace simbólico”. Este mecanismo debería ser válido en la gran mayoría de los casos, incluyendo los ficheros data de aplicaciones como whatsapp, pero siempre hay que probar cada caso concreto.

 Deja un comentario

(requerido)

(requerido)