擦除数据/通过ADB恢复出厂设置

基本上这是我的问题/

我有200多款运行Android的手机,需要擦除(以擦除数据/恢复出厂设置的方式),然后安装一些新的ROM。

目前我已经拥有了除Wipe Data部分以外的所有内容。 其他的一切都可以通过一个.bat命令来完成,但是我不能为了我的生活而弄清楚如何模仿或强制恢复模式来擦除数据。

我目前试过的东西:

  • 使用rm -r *擦除数据本身应该执行的操作(数据,caching,sd-ext等)。 这擦拭,但然后ROM不能正常工作,并卡住了一个bootloop。
  • 试图使用“adb input keyevent”来模仿按键。 我不知道它们映射到了什么,因为它们基本上在UNIX shell中,甚至没有“input”,因为操作系统还没有加载。
  • 尝试在系统上find实际运行擦除/重置的文件/脚本,然后手动运行该文件/脚本。 这可能是最简单的方法,因为它已经写在我的某个地方,但我不能看到它隐藏在哪里,即使在CWM的东西。

如果任何人有任何方法,我可以做这个工厂重置通过一个.bat或通过adbshell,我将不胜感激。 一直试图解决这个问题大约2天,现在几乎没有进展。

经过大量的挖掘,我终于下载了Android的恢复部分的源代码。 事实certificate,你实际上可以发送命令到恢复。

* 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 

这些是你可以使用的命令根据我发现,但可能是不同的修改文件。 所以使用adb你可以这样做:

 adb shell recovery --wipe_data 

使用–wipe_data似乎做我正在寻找哪些方便,虽然我还没有完全testing这个。

编辑:

对于仍在使用此主题的任何人,这些命令可能会根据您正在使用的恢复而更改。 如果您正在使用时钟恢复,这些命令应该仍然工作。 您可以在/ cache / recovery / command中find其他命令

欲了解更多信息,请看这里: https : //github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c