33 votos

Instalación en la tarjeta SD de forma predeterminada

Me gustaría saber si hay alguna manera de indicarle a Android que instale aplicaciones en la tarjeta micro SD por defecto en lugar de tener que descargar aplicaciones primero en la memoria interna y luego tener que moverlas a la tarjeta SD manualmente.

Gracias

0 votos

Específicamente por la respuesta de @Yeradis android.stackexchange.com/a/4976/156

5 votos

@GAThrawn No, eso no es un duplicado de eso. La pregunta que enlazaste es más bien "¿se pueden mover aplicaciones a la tarjeta SD?". Esta es "cómo especificar la ubicación de instalación predeterminada". Misma calle, casa diferente.

36voto

Izzy Puntos 45544

Este artículo en HowtoGeek describe una posible forma utilizando el adb:

Este comando establecerá el destino de instalación predeterminado de los dispositivos en tu tarjeta SDCard. Esto no significa necesariamente que todo se instale allí: solo las aplicaciones que lo admitan irán allí, y los desarrolladores pueden "anular" esto en el manifiesto de sus aplicaciones si creen que es necesario. Del referencia de API vinculada:

Cambia la ubicación de instalación predeterminada. Valores de ubicación:

  • 0: Automático: deja que el sistema decida la mejor ubicación.
  • 1: Interna: instalar en el almacenamiento interno del dispositivo.
  • 2: Externa: instalar en medios externos.

Nota: Esto está destinado únicamente para propósitos de depuración. Usar esto puede causar que las aplicaciones se rompan y otros comportamientos indeseables.

Para obtener más detalles sobre ADB y cómo, por ejemplo, obtener una versión mínima de él en tu computadora (sin la carga pesada de instalar todo el SDK), puedes echar un vistazo a la adb wiki de etiquetas.


Actualización: Para evitar confusiones con la respuesta de t0mm13b, aclaración sobre el proceso de instalación:

  1. encuentras alguna aplicación en google-play-store y decides instalarla
  2. después de hacer clic en "instalar" y aceptar los términos/permisos, el apk se descarga a /data/local, es decir, a tu almacenamiento interno. No puedes cambiar eso.
  3. cuando la descarga se completa, el .apk se instalará automáticamente. A dónde, depende de varias cosas:
    • si el desarrollador no especificó la propiedad android:installLocation en el Manifest de sus aplicaciones, la aplicación se instalará en el almacenamiento interno. Punto final, no hay otra opción (ver: referencia de API).
    • si este android:installLocation está configurado en preferExternal, y hay almacenamiento externo disponible, se instalará allí.
    • si está configurado en auto, nuevamente depende de:
      1. si la aplicación contiene widgets, servicios, quiere iniciar al arranque, y varias otras cosas, irá al almacenamiento interno. Punto final, no hay otra opción.
      2. irá hacia donde apunte el "destino de instalación predeterminado" de los dispositivos

0 votos

Podría ser útil incluir una advertencia: no se garantiza que funcione, especialmente si una aplicación tiene sus propios widgets... :)

0 votos

Como escribí: solo las aplicaciones que lo admitan irán allí :) Los widgets, servicios, etc. están diciendo que no lo admiten :)

0 votos

Después de ejecutar el comando adb shell pm setInstallLocation 2, se produce el error: dispositivo no encontrado.

5voto

Nick Pierpoint Puntos 7976

Eso no se puede cambiar! Así es como funciona Android.

Todas las descargas de Google Play van al sistema de archivos interno, luego desde:

  • Configuración > Aplicaciones
  • Toque en la aplicación mencionada, verifique si el botón Mover a la tarjeta SD está habilitado, luego puede hacerlo.

Si el botón Mover a la tarjeta SD está deshabilitado o gris, probablemente sea para evitar que la aplicación funcione, como sus propios widgets en la pantalla de inicio.

También, vea esta respuesta en la barra lateral relacionada a la derecha de esta página. :)

1 votos

¿Estás seguro, t0mm13b? ¿No había algún comando de ADB para adb shell pm setInstallLocation 2 (es decir, SDCard), como se describe aquí ?

1 votos

Un desarrollador puede especificar eso en el Manifiesto para darle a la aplicación la capacidad de ser movida a la tarjeta SD. android:installLocation="auto" No he visto adb shell pm setInstallLocation 2, supongo que en ese caso se especifica el nombre del paquete...

1 votos

No, t0mm13b: consulta mi respuesta y el artículo vinculado. Esto establece la ubicación de instalación predeterminada del dispositivo. Entonces, si el Manifiesto dice "auto", ahí es donde va. Si el Manifiesto dice algo diferente de "auto", va donde dice el Manifiesto. Ver también: referencia de API, también aquí para el comando pm set-install-location (nueva sintaxis).

4voto

Abhilash Puntos 41

Instala "Terminal Emulator for Android" en tu móvil y abre

$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]

-2voto

zulqarnain Puntos 1

Ve a "Administrar apps" y luego selecciona la pestaña de "Todos" y busca "Google Play Store". Toca en él y luego presiona el botón de "Desinstalar actualizaciones". Después de eso, ve a la Play Store y todas las aplicaciones se instalarán en tu tarjeta SD. Esto es lo que hice en mi QMobile A110 (Android 4.2).

2 votos

Creo que te falta el paso intermedio en algún lugar donde establezcas la ubicación de instalación predeterminada como la tarjeta SD y aun así, no siempre funciona de esta manera para cada aplicación.

-3voto

Vibhor Puntos 1

La cosa es que puedes cambiar el directorio de instalación predeterminado si tu teléfono está rooteado. Descarga Lucky Patcher y selecciona la opción de herramientas donde puedes encontrar la opción para cambiar el directorio de instalación predeterminado. **No hagas esto para Android 4 o superior, ya que puede causar cambios irreversibles. **

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X