EL truco para ganar espacio en la memoria de un Android sin root
Gabolonte Blasfemus
En Android existe un problema ya conocido de otras plataformas de smartphones: Existe una memoria principal que viene incorporada en el teléfono y contiene al sistema operativo, y otra secundaria, generalmente externa, que suele ser una tarjeta SD o sus versiones micro, aunque también puede estar incluida internamente, aunque a nivel acceso se sigue comportando como un almacenamiento “de afuera”. Pero en el androide verde se complica un poco más la cosa, ya que en un principio no se contemplaba que se pudiesen instalar aplicaciones en otra zona que no fuese en la memoria interna del dispositivo; y para peor, es obvio que los modelos más económicos vienen con una capacidad mucho más modesta de memoria en general. Esto nos dejaba en la situación de teléfonos con 128 MB de almacenamiento interno que se llenaban rápidamente al instalar una decena de aplicaciones, mientras que aunque se le colocara una SD de 8 GB, sólo se la podría aprovechar para almacenar archivos de usuario como música, imágenes, videos o documentos.
Esto era un terrible punto en contra para la plataforma, más pensando en que otras mucho más antiguas como Windows Mobile lo tenían resuelto hace rato (en WinMo se podía instalar la mayoría de las aplicaciones en la tarjeta SD), por lo que con la llegada de Froyo (Android 2.2) Google se puso las pilas y creó lo que llamó APP2SD, una tecnología bajo la cual las aplicaciones podían instalarse (o moverse si ya estaban instaladas en la memoria del teléfono) a la tarjeta SD. El problema es que, como no fue algo implementado desde el diseño mismo del SO, los desarrolladores tenían que hacer sus aplicaciones “APP2SD ready” para que solo así se las pudiese mover al almacenamiento externo. Y encima una parte de la aplicación siempre queda en la memoria del teléfono, por lo que siempre se sigue perdiendo espacio interno (aunque menos) con cada nueva aplicación que se instale, aunque todas soportaran APP2SD. Sumémosle a eso que hoy, en tiempos de Jelly Bean (Android 4.1), siguen existiendo muchas aplicaciones que siguen sin habilitar APP2SD, y tenemos una verdadera causa de depresión para todo poseedor de un androide que no sea de gama alta.
Pero existe una pequeña esperanza, al menos para ganar algo de espacio extra cuando ya todo parece perdido y nuestro teléfono se tara por tener que trabajar con 2 MB libres. Yo ni estaba al tanto de esto porque nunca lo había necesitado, pero el dueño de un Galaxy Ace sí, y vino a pedirme que “le mueva todas las aplicaciones a la SD”. Yo le expliqué que para poder hacer eso le tenía que rootear el teléfono (esos eran los métodos que conocía) y que eso conllevaba sus riesgos, y el flaco me replicó diciéndome que no era necesario, al menos de la forma en la que el había visto por ahí buscando en San Google. Así fue como con la pista dada llegué a este (llamémosle) truco, que hasta que no se lo prueba parece que le están haciendo una broma del 1ro de Abril, ya que no se puede creer que Google no lo haya implementado directamente.
Resulta que cambiando un simple valor de configuración en un teléfono Android, y sin hacerle root, es posible mover casi todas las aplicaciones a la tarjeta SD. El único pero es que necesitamos seguir algunos pasos un poco complicados para un usuario común, de ahí que el dueño del Ace me viniese a pedir que yo se lo haga. De todas formas si se le dedica un poco de aplicación e investigación es posible hacerlo, los pasos son relativamente simples:
1. Debemos descargarnos el Android SDK de Google ya que vamos a necesitar utilizar una herramienta de desarrollo de la que seguro hemos oído hablar o leído más de una vez: ADB, sigla para Android Debug Bridge, que nos permite tocar las entrañas de un androide desde nuestra computadora de escritorio. El SDK puede descargarse tanto en su versión para Windows, Linux o MacOS X, y se puede consultar ayuda sobre cómo instalarlo. Cuando lo hagamos, se nos presentarán varios módulos para descargar; el único que necesitamos y que se descarga en minutos es el ADB.
2. En el caso de hacer todo desde Windows vamos a necesitar los drivers del teléfono en cuestión, para que ADB pueda accederlo apropiadamente. Generalmente estos los conseguimos instalando el soft de sincronización con la PC que suelen incluir casi todos los fabricantes de smartphones con sus modelos. En el caso de Samsung por ejemplo deberemos descargarnos el Kies, pero generalmente no es muy difícil conseguirlo. También podemos simplemente googlear “fabricante” + “android usb drivers” y encontraremos varios resultados al respecto.
3. Habilitamos en nuestro teléfono el USB debugging y lo conectamos a un puerto USB de nuestra PC. Generalmente lo primero se hace yendo a Configuración/Aplicaciones/Desarrollo/Depuración USB. La ubicación y nombres exactos pueden cambiar de un modelo a otro pero no demasiado.
4. Abrimos la terminal, por ejemplo la de Windows, nos paramos en la carpeta platform-tools, dentro de la carpeta donde instalamos el SDK (en Windows por defecto suele ser C:\Archivos de programa\Android\android-sdk\platform-tools\) y ejecutamos el siguiente comando:
- adb devices
El mismo nos debería devolver una línea con información sobre un único dispositivo conectado, que debería ser nuestro teléfono. Si algo no salió bien y nuestro smartphone no está reconocido debidamente leeremos el mensaje device not found. Si estamos desde una distro Linux o MacOS X es posible que debamos invocar adb tipeando ./adb para que funcione.
5. Ahora ejecutamos:
- adb shell
Con esto entramos directamente a la línea de comandos desde la que nos comunicaremos con nuestro Android, por lo que veremos que cambia el símbolo del sistema. Una vez ahí ingresamos:
- pm set-install-location 2
Este es el comando que efectivamente hace la magia. Si da algún error probamos con una forma más antigua de ingresarlo:
- pm setInstallLocation 2
Luego de esto simplemente escribimos:
- exit
Así salimos del adb shell, y ya podemos desconectar nuestro teléfono. Es recomendable que si no lo necesitamos deshabilitemos la opción de Depuración USB ya que se puede usar para desbloquearlo aunque no se sepa la combinación o clave.
Una vez hecho esto solo nos resta ir a la administración de aplicaciones como siempre que queremos mover alguna aplicación a la tarjeta SD, solo que esta vez nos vamos a encontrar con que podremos mover varias que antes no tenían tal opción habilitada, como por ejemplo WhatsApp.
Tal vez sea redundante recordarlo pero para que todo esto funcione nuestro Android tiene que soportar APP2SD en un primer lugar, o sea que como mínimo debe estar corriendo Android 2.2 Froyo, y es importante tener en cuenta que para el widget de una aplicación funcione ésta debe permanecer enteramente en la memoria del teléfono, por lo que si movemos a SD una aplicación de la que usamos un widget en la home el mismo dejará de funcionar.