android - restaurar - Borrar datos/Restablecimiento de fábrica a través de ADB
restaurar de fabrica android desde recovery (1)
Básicamente este es mi problema /
Tengo más de 200 teléfonos que ejecutan stock de Android que necesitan ser limpiados (en el modo Eliminar datos / Restauración de fábrica) y luego se instala una nueva ROM con algunos apk adicionales.
Actualmente tengo todo automatizado, excepto la parte de Wipe Data. Todo lo demás se puede hacer a través de un .bat con un conjunto de comandos muy felizmente, pero no puedo por la forma en que pueda imitar o forzar el modo de recuperación para borrar los datos.
Cosas que he intentado actualmente:
- Limpiar los datos yo mismo usando rm -r * en las carpetas que se supone que debe hacer (datos, caché, sd-ext, etc.). Esto limpia, pero luego la ROM no funciona correctamente y se atasca en un bootloop.
- Tratando de usar "adb input keyevent" para imitar las pulsaciones de teclas. No tengo idea de a qué se asignan porque básicamente están en un shell UNIX e incluso entonces no hay "entrada" porque el sistema operativo no se ha cargado de todos modos.
- Tratando de encontrar el archivo / script en el sistema que realmente ejecuta el borrado / reinicio y luego ejecutarlo manualmente. Esta podría ser la manera más simple, ya que ya se me escribió en alguna parte, pero no puedo ver dónde está escondida, incluso en algo como CWM.
Si alguien tiene algún método por el cual podría hacer este restablecimiento de fábrica a través de un .bat o a través del shell adb, lo agradecería enormemente. He intentado solucionar esto durante aproximadamente 2 días con poco progreso.
Después de buscar mucho, finalmente terminé descargando el código fuente de la sección de recuperación de Android. Resulta que realmente puede enviar comandos a la recuperación.
* The arguments which may be supplied in the recovery.command file:
* --send_intent=anystring - write the text out to recovery.intent
* --update_package=path - verify install an OTA package file
* --wipe_data - erase user data (and cache), then reboot
* --wipe_cache - wipe cache (but not user data), then reboot
* --set_encrypted_filesystem=on|off - enables / diasables encrypted fs
Esos son los comandos que puede usar de acuerdo con el que encontré pero que podrían ser diferentes para los archivos modificados. Entonces, usando adb puedes hacer esto:
adb shell
recovery --wipe_data
El uso de --wipe_data parecía hacer lo que estaba buscando, lo que era útil, aunque todavía no lo he probado por completo.
EDITAR:
Para cualquiera que siga utilizando este tema, estos comandos pueden cambiar en función de la recuperación que esté utilizando. Si está utilizando la recuperación Clockword, estos comandos deberían funcionar. Puede encontrar otros comandos en / cache / recovery / command
Para obtener más información, consulte aquí: https://github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c