Wipe data / Reset de fábrica a través de ADB

Básicamente este es mi problema /

Tengo 200+ teléfonos funcionando el androide de la acción que necesitan ser limpiados (en la manera de los datos de la limpieza / restablecimiento de la fábrica) y entonces una ROM nueva instalada con algunos apks adicionales.

Actualmente tengo todo automatizado excepto la parte Wipe Data. Todo lo demás se puede hacer a través de un .bat con un conjunto de comandos muy feliz, pero no puedo para la vida de mí trabajar cómo imitar o forzar el modo de recuperación para borrar los datos.

Cosas que he probado actualmente:

  • Limpiar los datos yo mismo utilizando rm -r * en las carpetas que se supone que debe hacer (datos, caché, sd-ext, etc). Esto limpia, pero entonces la ROM no funciona correctamente y se queda atascado en un bootloop.
  • Tratando de usar "entrada de teclado keyevent" para imitar las pulsaciones de teclas. No tengo ni idea de lo que se asignan a porque están en una base de UNIX básicamente 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 forma más sencilla, ya que ya se ha escrito para mí en algún lugar, pero no puedo ver dónde se oculta, incluso en algo como CWM.

Si alguien tiene algún método por el que podría hacer esta puesta a cero de fábrica a través de un. Bat o a través de la shell de adb me gustaría mucho. He estado tratando de resolver esto durante unos 2 días ahora con poco progreso.

Después de un montón de cavar alrededor 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 puedes usar de acuerdo con el que encontré, pero que podría ser diferente para los archivos modded. Así que con adb puedes hacer esto:

 adb shell recovery --wipe_data 

El uso de –wipe_data parecía hacer lo que estaba buscando, que era útil, aunque no he probado completamente esto hasta ahora.

EDITAR:

Para cualquiera que todavía utilice este tema, estos comandos pueden cambiar según la recuperación que esté utilizando. Si está utilizando la recuperación de Clockword, estos comandos deben seguir funcionando. 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

  • ¿Cómo usar `adb` para instalar aplicaciones de desarrollo para un solo usuario?
  • Cómo cambiar el tipo de red preferido sobre adb android?
  • Android: Cómo utilizar "adb shell wm" para simular otros dispositivos
  • Configurar adb en Mac OS X
  • Cómo habilitar el puntero del mouse en dispositivos android con comandos adb
  • ¿Qué es adb en Android?
  • Micromax a111 no es detectado por adb
  • No se pudo obtener la versión del anuncio ... Ningún archivo o directorio
  • ¿Hay un comando ADB para habilitar / deshabilitar datos móviles? (Dispositivo enraizado)
  • Conexión del teléfono Android con ADB
  • ADB Shell obtiene la ubicación GPS en vivo (no la última ubicación conocida)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.