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.
- Actividades no exportadas: lanzadas en emuladores; SecurityException en los teléfonos
- adb bugreport: ¿Hay una manera de restablecer el registro?
- Android adb (OSX Lion) no reconoce Galaxy Nexus, Jelly Bean
- ¿Dónde está el controlador ADB de Windows para el C de píxeles?
- Appium: la versión de servidor de anuncios (31) no coincide con este cliente (36)
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.
- Cómo detener una aplicación de Android desde la consola
- Depuración de una WebView de Android desde el PC mediante adb
- Los dispositivos Adb no pueden encontrar mi teléfono
- ¿Cómo depurar un broadcastreceiver?
- Error adb: más de un dispositivo - android
- ADB lanza SecurityException al iniciar el servicio después de la actualización del sistema a Nexus 7: "Caller uid = 2000 no tiene privilegios para comunicarse con user = -2"
- Iniciar aplicación a través de adb sin saber Nombre de actividad
- Dispositivo Android: Elocity A7 040 no detectado
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
- Android: configChanges = "orientación" no funciona con fragmentos
- Cómo reducir un tamaño de archivo de imagen antes de subir a un servidor