Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wipe data/Factory reset through ADB [closed]

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:

  • Wiping the data myself using rm -r * on the folders it's supposed to do (data,cache,sd-ext etc.). This does wipe but then the ROM doesn't work properly and gets stuck in a bootloop.
  • Trying to use "adb input keyevent" to mimic the key presses. I have no idea what they are mapped to because they are in a UNIX shell basically and even then there is no "input" because the OS hasn't been loaded anyway.
  • Trying to find the file/script on the system that actually runs the wipe/reset and then running that manually. This might be the simplest way as it's already been written for me somewhere but I just cannot see where it is hidden, even in something like CWM.

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.

like image 371
deadwards Avatar asked May 30 '12 13:05

deadwards


People also ask

What happens if I wipe data/factory reset?

A factory data reset erases your data from the phone. While data stored in your Google Account can be restored, all apps and their data will be uninstalled. To be ready to restore your data, make sure that it's in your Google Account.

How do I wipe my phone from the command prompt?

Run Windows Command Prompt > head to ADB (Android Debug Bridge) folder by inputting C:\Users\Your username\AppData\Local\Android\android-sdk\platform-tools > input ADB reboot recovery, and then your Android phone will reboot > the Android System Recovery screen will present > choose Wipe Data/Factory Reset option to ...


1 Answers

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

like image 91
deadwards Avatar answered Oct 12 '22 02:10

deadwards