通过ADB擦除数据/恢复出厂设置[关闭]

问题描述 投票:0回答:1

基本上这是我的问题/

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

目前,除了擦除数据部分之外,我已经将所有事情都自动化了。其他一切都可以通过 .bat 和一组命令来完成,但我一生都无法弄清楚如何模仿或强制恢复模式来擦除数据。

我目前尝试过的事情:

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

如果有人有任何方法可以让我通过 .bat 或 adb shell 恢复出厂设置,我将不胜感激。已经尝试解决这个问题大约两天了,但进展甚微。

android adb reset recovery
1个回答
63
投票

经过大量挖掘,我终于下载了 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 似乎可以做我正在寻找的事情,这很方便,尽管我还没有完全测试过。

编辑:

对于仍在使用本主题的任何人,这些命令可能会根据您使用的恢复而变化。如果您使用 Clockword 恢复,这些命令应该仍然有效。您可以在/cache/recovery/command中找到其他命令

欲了解更多信息,请参阅此处: https://github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c

© www.soinside.com 2019 - 2024. All rights reserved.