【问题标题】:Wipe data/Factory reset through ADB [closed]通过亚行擦除数据/恢复出厂设置[关闭]
【发布时间】:2012-06-04 18:33:05
【问题描述】:

基本上这是我的问题/

我有 200 多部运行库存 Android 的手机需要擦除(以擦除数据/恢复出厂设置的方式),然后安装一个新的 ROM,其中包含一些额外的 apk。

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

我目前尝试过的事情:

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

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

【问题讨论】:

  • 这在android.stackexchange.com上可能会做得更好
  • 谢谢 :) 实际上我认为我设法解决了这个问题,所以我会更新这个问题,以防其他人看到这个并从 Google 找到这个。
  • 这段代码对我有用:adb shell am broadcast -a android.intent.action.MASTER_CLEAR
  • emulator @avd_name -wipe-data 为我做了。它从头开始重新启动设备
  • 第一个模拟器:avd_names="$(emulator -list-avds)"; emulator @"${avd_names%% *}" -wipe-data

标签: android adb reset recovery


【解决方案1】:

经过大量挖掘,我终于下载了 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

【讨论】:

  • 仅供参考 - 我的个人手机三星 Galaxy S2 I9100(我是开发人员,但不是安卓系统)在尝试使用 ROM 管理器进行备份后停止响应。我什至无法启动恢复或下载模式。在网上搜索后,我尝试使用 Odin,但它无法识别手机。亚行做了,然后我发现了这篇文章。使用这个命令后,我的手机终于有反应了!非常感谢,即使你不是故意的。我希望其他人能够通过我的推荐找到您的帖子。
  • 恢复:未找到 Android Debug Bridge 版本 1.0.31 |机器人 2 全球 | CyanogenMod 7.2
  • 尝试使用wipe 命令。您必须是 root 才能擦除数据(adb shell, su 或 adb root),但如果您无法获得 root,这将不起作用。
  • @daniel 你可能经历过“recovery --wipe_data”最终导致“分段错误”
  • 我发现我们必须在 Android 4.3 上使用另一个命令:adb shell wipe data。如果手机屏幕坏了,手机可以正常使用,您可以通过“adb shell”登录手机。
猜你喜欢
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
  • 2013-01-19
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
相关资源
最近更新 更多