Tengo un Moto G (2da generación) con Android 5.02. La tarjeta SD interna es de aproximadamente 8 Gb y tengo una tarjeta SD externa con 16 Gb de espacio libre.
Mover la aplicación a SDCARD desde el menú de la aplicación la mueve a sdcard0, que es la tarjeta SD interna.
Comando de shell Adb:
pm get-install-location
me da
0[auto]
Traté de establecer la ubicación de instalación a través de:
pm set-install-location 2
Pero recibo este error:
Error: java.lang.SecurityException: Package android does not belong to 2000
Es decir, creo quejarse de los permisos de root.
Y porque es una construcción de producción que intenta:
adb root
me da
adbd cannot run as root in production builds
¿Hay alguna forma de configurar las aplicaciones para instalar sus datos en una tarjeta SD externa?
PD: No quiero instalar una rom personalizada o instalar software de terceros para rootear el teléfono.
Editar:
He notado que los datos de las aplicaciones se almacenaron en la carpeta /storage/sdcard0/Android, así que pensé en mover esta carpeta /storage/sdcard1/y crear un enlace simbólico de esta manera:
ln -s /storage/sdcard1/Android /storage/sdcard0/Android
¿hará esto el trabajo?
Gracias.
fuente

/sdcard/sdcard0/Android. Las aplicaciones se almacenan en una carpeta oculta llamada.android_securedonde ni siquieraroottiene acceso (lo probé en mi dispositivo, ni siquiera puedes accedercda esa carpeta).sdcard_rwpertenezcan alrootgrupo o que no presenten al usuariosdcard_rwen absoluto. Pero con un poco de cambios de permiso, debería poder resolverlo.ls -l /storage/sdcard0me dio estolrwxrwxrwx root root 2015-04-20 15:59 sdcard0 -> /storage/emulated/legacyy correrls -l /storage/sdcard0/me dio estodrwxrwx--x root sdcard_r 2014-12-20 18:16 Android.. ¿Es una buena o mala noticia? Como no soy root, creo que no puedo establecer permisos.Básicamente puedes! ;)
Después de reiniciar, CADA aplicación que instales irá automáticamente a la tarjeta SD.
Si no sabe cómo crear una partición, busque una guía en Google, hay muchas
fuente
Ese fue un gran viaje en busca de una respuesta que no involucrara el enraizamiento, pero terminé:
Desbloqueo de mi gestor de arranque
Arrancar en TWRP sin instalarlo:
Instalación de SuperSU de Chainfire con TWRP.
Desde el emulador de terminal o el shell de adb :
Desde el menú de una aplicación con
Settings > Applicationssolo presionarla, seMove to SDCARDmueve *, sus datos y obb, a la SDCARD externa.Eliminando SuperSU ......
Nah ... no hice eso! 3 :)
fuente
Vaya a esta dirección http://developer.android.com/tools/help/shell.html#shellcommands
Android 5 y superior no es compatible con esto
pm get-install-locationIntente hacer una copia de seguridad de su apk y siga los pasos a continuación
Ejemplo
-r significa reinstalar apk con los datos existentes y -s significa tarjeta sd
fuente
-ses para especificar en qué dispositivo debe funcionar adb ("-s <serialNumber>").Primero instale Adbd insecure ( descarga de apk de xda-developers ).
Una vez instalado en su dispositivo, ábralo y marque la casilla: "Habilitar adbd inseguro".
Ahora puede cambiar la ubicación para instalar sus aplicaciones.
fuente