Instalación en SDCard por defecto

Me gustaría saber si hay una manera de decirle a Android que instale aplicaciones en la tarjeta micro SD de forma predeterminada en lugar de tener que descargar aplicaciones a la memoria interna primero y luego moverlas a la tarjeta SD manualmente.

Gracias

específicamente debido a la respuesta de @Yeradis android.stackexchange.com/a/4976/156
@GAThrawn No, eso no es un engaño. La pregunta que vinculó es más bien "se pueden mover aplicaciones a SD". Este es "cómo especificar la ubicación de instalación predeterminada". Misma calle, diferente casa.

Respuestas (5)

Este artículo en HowtoGeek describe una posible forma de utilizar :

Este comando establecerá el destino de instalación predeterminado de los dispositivos en su tarjeta SD. Eso no significa necesariamente que todo se instale allí: solo las aplicaciones compatibles con esto irán allí, y los desarrolladores pueden "anular" esto en el manifiesto de sus aplicaciones si creen que es necesario. De la referencia API vinculada :

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

  • 0: Automático: permite que el sistema decida la mejor ubicación.
  • 1: Interno: instalar en el dispositivo de almacenamiento interno.
  • 2: Externo: instalar en medios externos.

Nota: Esto solo está destinado a la depuración; usar esto puede hacer que las aplicaciones se rompan y otros comportamientos no deseados.

Para obtener más detalles sobre ADB, y cómo puede, por ejemplo, obtener una versión mínima de él en su computadora (sin la exageración de instalar todo el SDK), puede consultar tag-wiki .


Actualización: para evitar confusiones con la respuesta de t0mm13b , alguna autorización sobre el proceso de instalación:

  1. encuentras alguna aplicación en y decides instalarla
  2. después de hacer clic en "instalar" y aceptar los términos/permisos, la se descarga en/data/local , es decir, en su . No puedes cambiar eso.
  3. cuando se complete la descarga, .apkse instalará automáticamente. Dónde, depende de varias cosas:
    • si el desarrollador no especificó la android:installLocationpropiedad en sus aplicaciones Manifest, la aplicación se instalará en la historia interna. Punto final, no hay otra opción (ver: referencia API ).
    • si android:installLocationestá configurado en preferExternaly hay almacenamiento externo disponible, irá allí.
    • si se establece en auto, de nuevo depende:
      1. ¿La aplicación contiene widgets, servicios, quiere comenzar en el arranque y varias otras cosas? Va al almacenamiento interno. Punto final, no hay otra opción.
      2. va donde apunta la "ubicación de instalación predeterminada" de los dispositivos
podría ayudar incluir una advertencia: no se garantiza que funcione, especialmente si una aplicación tiene sus propios widgets... :)
Como escribí: solo las aplicaciones compatibles con esto irán allí :) Widgets, servicios, etc. dicen que no es compatible :)
después de ejecutar el comando adb shell pm setInstallLocation 2 error: dispositivo no encontrado
Parece que se saltó los primeros dos pasos (habilitar la depuración USB y conectar el dispositivo después de eso), o está en Windows y no instaló los controladores correspondientes. Siga el enlace correspondiente y continúe desde allí, @moudrick .

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

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

  • Ajustes > Administrar aplicaciones
  • Toque dicha aplicación, verifique si el botón Mover a tarjeta SD está habilitado, luego puede hacerlo.

Si el botón Move to SDCard está deshabilitado o atenuado, es probable que impida que la aplicación funcione, como sus propios widgets en la pantalla de inicio.

Además, vea esta respuesta en la barra lateral relacionada a la derecha de esta página. :)

¿Estás seguro, t0mm13b? ¿No había algún comando ADB para adb shell pm setInstallLocation 2(es decir, SDCard), como se describe aquí ?
Un desarrollador puede especificar eso en el Manifiesto para dar a la aplicación la capacidad de moverse a la tarjeta SD. android:installLocation="auto"No lo he visto adb shell pm setInstallLocation 2, presumiblemente especificas el nombre del paquete en ese caso...
No, t0mm13b: vea mi respuesta y el artículo vinculado. Esto establece la ubicación de instalación predeterminada del dispositivo . Entonces, si Manifestdice "automático", ahí es donde va. Si Manifestdice que no sea "auto", va donde Manifestdice. Ver también: API ref , también aquí para el pm set-install-locationcomando (nueva sintaxis).
Izzy, lo que especifiqué sobre AndroidManifest, en android:installLocationrealidad habilita Move to SDCard desde la configuración de la aplicación de administración ... algunos desarrolladores no lo especifican y hacen que el botón esté deshabilitado, pero reconozco que tampoco he visto el comando adb para hacer eso.
Ah, ahora lo entiendo: enfoque diferente: decías "si una aplicación no está destinada a instalarse en SD, no puedes hacerlo", mientras que me enfocaba en dónde va de manera predeterminada a menos que se especifique lo contrario . Pero verifique las primeras 4 líneas de su respuesta, dicen algo diferente. Sin embargo, tiene razón: la descarga primero va a /data/local, y desde allí se instala la aplicación. Pero dependiendo de la configuración y el manifiesto, se instala en interno o directamente en externo desde allí. // Si quieres discutir esto en detalle: ¿recuerdas nuestro pub, ejem, charla? :)

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]
interesante, pero hay que tener root para que esto funcione

Vaya a "Administrar aplicaciones" y luego seleccione la pestaña "Todos" y busque "Google Play Store". Tóquelo y luego presione el botón "Desinstalar actualizaciones". Después de eso, vaya a Play Store, todas las aplicaciones se instalarán en su tarjeta SD. Esto es lo que hice en mi QMobile A110 (Android 4.2).

Creo que te estás perdiendo el paso intermedio en algún lugar donde configuras la ubicación de instalación predeterminada para que sea la tarjeta SD e incluso entonces, no siempre funciona de esta manera para todas las aplicaciones.

La cosa es que puedes cambiar el directorio de instalación predeterminado si tu teléfono está rooteado. Descargue Lucky Patcher y toque las herramientas allí donde puede encontrar la opción para cambiar el directorio de instalación predeterminado. **No hagas esto para Android 4 o superior o puede causar un cambio irreversible. **

Según la versión de Android Market Share 2016, el 97,7 % de todos los usuarios de Android utilizan Android 4.0 o posterior en la fecha en que se publicó esta respuesta y, por lo tanto, Lucky Patcher puede provocar cambios irreversibles en casi todos los usuarios actuales de Android.
¿Qué "cambios irreversibles" serían esos? No los noté en mis dispositivos Kitkat :) Pero como señaló @karel: si crees que no debería usarse, ¿por qué lo recomiendas?