androidadbresetrecovery

Wipe data/Factory reset through ADB


Basically this is my problem/

I have 200+ phones running stock Android that need to be wiped (in the Wipe Data/Factory Reset way) and then a new ROM installed with some additional apks.

Currently I've got everything automated except the Wipe Data part. Everything else can be done through a .bat with a set of commands quite happily but I cannot for the life of me work out how to either imitate or force the recovery mode to wipe the data.

Things I've currently tried:

If anyone has got any method whereby I could do this factory reset through a .bat or through the adb shell I would greatly appreciate it. Been trying to solve this for about 2 days now with little progress.


Solution

  • After a lot of digging around I finally ended up downloading the source code of the recovery section of Android. Turns out you can actually send commands to the recovery.

     * 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
    

    Those are the commands you can use according to the one I found but that might be different for modded files. So using adb you can do this:

    adb shell
    recovery --wipe_data
    

    Using --wipe_data seemed to do what I was looking for which was handy although I have not fully tested this as of yet.

    EDIT:

    For anyone still using this topic, these commands may change based on which recovery you are using. If you are using Clockword recovery, these commands should still work. You can find other commands in /cache/recovery/command

    For more information please see here: https://github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c