¿Cómo mover aplicaciones spcific a / de la tarjeta sd usando ADB?
Fondo
Es posible configurar la instalación predeterminada en la tarjeta SD usando (basado en este enlace ):
para pre- API14:
- En Android: Cómo puedo volver a explorar una carpeta completa para ver los cambios en .nomedia
- ¿Por qué getExternalFilesDirs () no funciona en algunos dispositivos?
- Environment.getExternalStorageDirectory (). GetAbsolutePath () da una ruta diferente - Android
- Creación de una utilidad para obtener la ruta al almacenamiento extraíble externo cada vez
- Compruebe si el directorio existe en la tarjeta sdcard de android
adb shell pm setInstallLocation 2
para API 14 y superiores:
adb shell pm set-install-location 2 (Android 4.x)
El problema
Esto sólo funciona para las aplicaciones recién instaladas (o simplemente ir manualmente sobre cada una de ellas y establecer allí), pero me gustaría saber cómo volver a instalar una aplicación ya instalada en la tarjeta SD (y también de nuevo a la memoria interna ).
Lo que he intentado
Traté de leer los comandos disponibles a través de ADB, y trató de ejecutar el siguiente comando:
adb shell pm install -s -r -i com.example.test
Pero no funcionó
La pregunta
Supongamos que una aplicación ya está instalada en el almacenamiento interno (o en la tarjeta SD), ¿cómo puedo usar ADB para volver a instalarla en la tarjeta SD (o en la interna)?
- Tarjeta sd android
- Compruebe si la tarjeta SD está presente, boolean siempre es cierto
- ¿Cómo puedo leer el archivo json de la tarjeta SD
- Copia los archivos de una carpeta de la tarjeta SD en otra carpeta de la tarjeta SD
- ¿Cómo conseguimos que nuestra aplicación también pueda pasar a SDCard?
- ¿Cómo puedo leer un archivo de texto desde la tarjeta SD en Android?
- ¿Cómo usar la nueva API de acceso a tarjetas SD de Lollipop en dispositivos que ejecutan KITKAT?
- Todavía el permiso denegado después de agregar "WRITE_EXTERNAL_STORAGE" en AndroidManifest.xml
Aparentemente, es necesario proporcionar la ubicación del APK en lugar del nombre del paquete.
Después trabajé en mi final para VLC que instalé desde Play Store y originalmente estaba en almacenamiento interno:
$ adb shell pm install -s -r /data/app/org.videolan.vlc.betav7neon-1.apk pkg: /data/app/org.videolan.vlc.betav7neon-1.apk Success $
Y volviendo al almacenamiento interno:
$ adb shell pm install -f -r /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk pkg: /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk Success $
Actualización 1
A continuación se muestran los comandos respectivos con -i: specify the installer package name
opción del -i: specify the installer package name
.
Mover a la tarjeta SD:
$ adb shell pm install -i "com.android.vending" -s -r /data/app/org.videolan.vlc.betav7neon-1.apk pkg: /data/app/org.videolan.vlc.betav7neon-1.apk Success
Mover a almacenamiento interno:
$ adb shell pm install -i "com.android.vending" -f -r /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk pkg: /mnt/asec/org.videolan.vlc.betav7neon-1/pkg.apk Success
Actualización 2
El uso de -i
es opcional, pero si no se utiliza la información del instalador se pierde durante el movimiento:
$ adb shell pm list packages -3 -i package:org.videolan.vlc.betav7neon installer=com.android.vending $ adb shell pm install -s -r /data/app/org.videolan.vlc.betav7neon-1.apk pkg: /data/app/org.videolan.vlc.betav7neon-1.apk Success $ adb shell pm list packages -3 -i package:org.videolan.vlc.betav7neon installer=null
Espero que esto ayude.
- Cómo animar un marcador a través de un ArrayList de LatLng puntos?
- Android countdowntimer tick no es preciso