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

时间:2012-05-30 13:52:54

标签: android adb reset recovery

基本上这是我的问题/

我有200多部需要擦拭Android的手机需要擦拭(以擦除数据/工厂重置的方式),然后安装了一些新的ROM以及其他附加功能。

目前除了擦除数据部分外,我已经完成了所有自动化操作。其他所有东西都可以通过带有一组命令的.bat来完成,但我不能为我的生活找出如何模仿或强制恢复模式擦除数据。

我目前尝试过的事情:

  • 使用rm -r *在它应该执行的文件夹(数据,缓存,sd-ext等)上自行擦除数据。这会擦除但是ROM无法正常工作并卡在bootloop中。
  • 尝试使用“adb input keyevent”来模仿按键。我不知道它们映射到了什么,因为它们基本上都在UNIX shell中,即使这样也没有“输入”,因为操作系统还没有被加载。
  • 尝试在系统上找到实际运行擦除/重置然后手动运行的文件/脚本。这可能是最简单的方法,因为它已经在某处为我编写,但我无法看到隐藏的位置,即使是像CWM这样的东西。

如果有人有任何方法我可以通过.bat或adb shell重置工厂,我将非常感激。一直试图解决这个问题大约2天,但进展甚微。

1 个答案:

答案 0 :(得分:59)

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

 * 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似乎做了我正在寻找的东西,虽然我还没有完全测试过它,但它很方便。

编辑:

对于仍在使用此主题的任何人,这些命令可能会根据您使用的恢复进行更改。如果您正在使用时钟字恢复,则这些命令仍然有效。您可以在/ cache / recovery / command

中找到其他命令

有关详细信息,请参阅此处: https://github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c