Publicado en Tecnología

Instalar todas las apps en la SD sin ser root

Para quienes tienen un con memoria interna abundante, este no tiene mucho sentido, sin embargo, para los que tienen pocos megas se darán cuenta que en cuanto instalen 40 o 50 aplicaciones, la memoria interna se llena y, a pesar de que hay apps con la opción de poder instalarlas en la SD, no son ni mucho menos todas y el problema persiste.

Pues bien, hoy os voy a explicar la manera de poder instalar todas las aplicaciones en la tarjeta SD sin necesidad de ser root e, incluso, de manera automática. Es decir, directamente desde el market, al instalar una aplicación, se instalará en la SD, si no es así, siempre podrás moverla manualmente. Lo mismo que hace un Android rooteado.

Requisitos

  • Android 2.2 o superior
  • Android SDK
  • Cable USB
  • Un ordenador

Instalar Android SDK

Si utilizas un sistema operativo basado en Linux pásate por este tutorial donde ya expliqué como hacerlo. Si por el contrario utilizas Windows o Mac OS (y por tanto irás al infierno), ve a la web de desrrolladores de Android y descarga de allí los ficheros correspondientes para la instalación (no parece difícil, pero yo no doy soporte al demonio).

Móvil en modo depuración

Hay que poner el móvil en modo depuración para poder modificar el parámetro que haga que se instalen las aplicaciones en la SD por defecto. Para ello vamos a:

Ajustes > Aplicaciones > Desarrollo > Depuración USB

Una vez activado el modo depuración, conectamos el teléfono al ordenador mediante el cable USB.

Cambiar lugar predeterminado de instalación

Con el móvil conectado en modo depuración abrimos un terminal y accedemos a la carpeta tools o platform-tools (dependerá de la versión del SDK que hayas instalado) que se encuentra dentro del directorio donde instalaste el Android SDK. Una vez allí ejecutamos lo siguiente:

:~/android-sdk/tools$ ./adb shell pm setInstallLocation 2

Esto hará que, por defecto, todas las aplicaciones se instalen en la tarjeta SD. Si quieres que el lugar predeterminado sea otro:

  • Por defecto (donde la app diga): adb shell pm setInstallLocation 0
  • En el teléfono: adb shell pm setInstallLocation 1
  • En la tarjeta SD: adb shell pm setInstallLocation 2

El sistema viene configurado para que el setInstallLocation sea 0 así que si quieres volver a estado natural del móvil tendrás que poner esa opción siguiendo el tutorial de la misma manera. Obviamente en Windows se ejecutaría el adb en la consola de MS-DOS (y sin el ./ delante que sirve para los ejecutables Linux) y en Mac OS en la suya, el comando es el mismo en cualquier sistema.

Una vez cambiado el lugar predeterminado de instalación de las aplicaciones, cualquiera que instales nueva lo hará allí, y las que ya tienes instaladas podrás moverlas sin problemas. Ahora sólo queda desenchufar el móvil, quitar el modo depuración y empezar a disfrutar de más espacio en el teléfono.

Problemas conocidos

Para que los widgets funcionen tienen que estar instalados en el teléfono así que éstos no los muevas a la SD. Por lo demás funciona perfectamente desde Android 2.2 hasta Android 2.3.4 que es lo que he probado hasta la fecha.

Resumen

Instalar Android SDK

Móvil en modo depuración: Ajustes > Aplicaciones > Desarrollo > Depuración USB

Con el móvil conectado por USB:

:~/android-sdk/tools$ ./adb shell pm setInstallLocation 2

26 comentarios sobre “Instalar todas las apps en la SD sin ser root

    1. Por lo poco que he podido ver, esa aplicación sólo funciona sobre plataforma Windows, no sé si funcionará o no, pero con la solución del SDK tienes control total de lo que estás haciendo, sabes como revertirlo y, además, puedes hacerlo en cualquier sistema operativo. ¿Más tedioso? Sí. Pero fiarse de que ese programa no haga nada malicioso no es fácil. Yo prefiero controlar lo que hago, siempre que sea posible, y en este caso lo es. Pero gracias por el aporte.

  1. Lo hago todo y cuando pongo el comando me dice device not found…. Tengo instalado sdk con todos los complementos…. Alguien sabe que puede ser??

    1. Asegúrate que el móvil está en modo depuración USB y que al instalar el SDK instalas el driver USB. Si lo tienes todo y estás en Linux, probablemente el ADB se esté ejecutando con permisos de usuario en vez de root así que ve a la carpeta donde está el ADB y ejecuta como root (en Ubuntu y otras distros basadas en Debian sería con “sudo” delante): ./adb kill-server y después ./adb start-server
      Ahora prueba a ejecutar el comando de nuevo y debería reconocerte el dispositivo.

  2. hago todo los pasos y el cmd no me muestra ningun error, por lo que asumo que lo estoy haciendo correctamente… de todas formas al instalar apps en mi telefono lo sigue haciendo en la memoria del telefono y no en la SD… como lo arreglo?

  3. me salta el siguiente mensaje, creo que le tengo dados los permisos correctamente pero…

    “error: insufficient permissions for device”

  4. hola, 1º felicitaciones por el blog esta muy wapo.

    tengo una duda para poder hacer esto en windows ya ke en mi Linux Mint no me deja.

    y soy nuevo en android.

    mi pregunta es: cuando conectamos el movil me pide seleccionar solo cargar, SYNC, unidad de disco, etc.. cual tengo ke elegir?

    y otra cosa donde inicio la consola en el movil, en el SDK o en windows/mint?

    Gracias por responderme. saludos y suerte con el viaje Japon…

  5. Hola Carolina, como bien pone en el artículo:

    Con el móvil conectado en modo depuración abrimos un terminal y accedemos a la carpeta tools o platform-tools (dependerá de la versión del SDK que hayas instalado) que se encuentra dentro del directorio donde instalaste el Android SDK. Una vez allí ejecutamos lo siguiente:

    :~/android-sdk/tools$ ./adb shell pm setInstallLocation 2

  6. pues le comento hice lo que describen en post y de verdad q facil es, lo hecho y todas las aplicaciones q bajo del market se me instalan en la SD, de verdad muchas gracias esta muy bueno y muy facil, muchas gracias.

  7. Hola,
    he hecho lo que has puesto y se ejecuta, pero no muestra ningun mensaje ni nada. Entonces voy a desenchufar el USB con seguridad y pone que esta siendo utilizado. Apago el PC para poder desconectarle y no me deja mover nada a la SD.
    ¿Podrias ayudarme?

  8. pues no entiendo como introducir esos terminos… te pediria porfavor ke explicaras un pokito mas… que es una terminal, no copies y pegues please =/

  9. Hola, me acabo de comprar una tablet de 8GB de capacidad pero solo 512 MB de memoria interna.

    Podría instalar las aplicaciones en la memoria interna del teléfono (la que está destinada a las aplicaciones no, sino la que está dedicada al almacenamiento?)

    Gracias

  10. Buen A Todos.

    Tengo un problemon, no consigo los driver usb para mi XT316 Motorola, alquien me puede ayudar, se los agradesco, gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *