0 votos

¿Borrar todos los datos de las aplicaciones en una tablet Android sin usar el restablecimiento de fábrica?

En Android, ¿hay alguna forma de borrar todos los datos de las aplicaciones al mismo tiempo sin usar el restablecimiento de fábrica? Trabajo en una biblioteca y tenemos tabletas Android para que los usuarios las usen y después de que el usuario haya terminado de usar la tablet queremos borrar el nombre de usuario de todas las aplicaciones que el usuario haya usado para que su nombre de usuario no quede en la aplicación. Sé que el botón "Borrar datos" en el Administrador de aplicaciones borrará el nombre de usuario, pero tendríamos que hacer esto para cada aplicación y preferiría hacerlo en una instancia en lugar de uno a la vez. Cualquier ayuda será muy apreciada.

2voto

Izzy Puntos 45544

Eso podría hacerse a través de ADB y un poco de scripting - aunque actualmente no estoy seguro de si podría requerir Root (seguramente entiendes que no quiero probar eso en ninguno de mis dispositivos de trabajo ahora mismo ;):

#!/system/bin/sh
for app in $(pm list packages); do
  pm clear ${app:8}
done

Este fragmento puede guardarse en un archivo (por ejemplo clear_data.sh ), o ejecutar directamente por copia-pega cuando se conecta al dispositivo utilizando adb shell .


Alguna explicación de lo que hace, ya que hubo algún problema por parte del OP:

  • pm list packages da una lista con los nombres de los paquetes de todas las aplicaciones instaladas, una por línea.
  • for app in $(pm list packages); do se repite la lista y se ejecuta el "comando interno" para cada paquete por separado
  • pm clear ${app:8} borra los datos de cada paquete especificado por $app El corte de los 8 primeros caracteres ( pm list antepone a cada nombre de aplicación la cadena package: que tenemos que cortar)

Para verificarlo en la línea de comandos, puede copiar y pegar la siguiente línea de comandos:

adb shell 'for app in $(pm list packages); do echo pm clear ${app:8}; done'

(nota: cuando se ejecuta desde una línea de comandos de Windows, tendrá que utilizar comillas dobles (¡gracias a Jesse por esta pista!) - en Linux/Unix/Mac mantén las comillas simples o las variables se expandirán "en el extremo equivocado")

Eso es un "simulacro", no hacer nada más que listado los comandos del bloque de código anterior se ejecutarían directamente. Podrías usar la salida de eso para borrar los datos de cada aplicación manualmente, escogiendo los que te interesan. 1

Para dar un ejemplo de comando producido por esto: pm clear com.facebook.katana borraría los datos de la aplicación de Facebook.


1: Esto podría ser una parte importante, ya que el bucle realmente limpiaría los datos de todo aplicaciones (incluidas las del sistema), lo que podría no ser exactamente lo que buscas. Puedes restringirlo automáticamente, por ejemplo, a las aplicaciones de usuario, pasando el parámetro -3 (para "sólo aplicaciones de terceros") al pm list es decir, el comando pm list packages -3 .

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