Подтвердить что ты не робот

Протрите данные /Factory reset через ADB

В основном это моя проблема /

У меня есть еще 200 телефонов под управлением Android, которые нужно стереть (в режиме Wipe Data/ Factory Reset), а затем установить новое ПЗУ с некоторыми дополнительными apks.

В настоящее время у меня все автоматизировано, кроме части Wipe Data. Все остальное можно сделать через .bat с набором команд довольно счастливо, но я не могу на всю жизнь понять, как имитировать или заставить режим восстановления стереть данные.

Вещи, которые я сейчас пытался:

  • Удаление самих данных с помощью rm -r * в папках, которые оно должно выполнять (данные, кеш, sd-ext и т.д.). Это протирает, но тогда ПЗУ не работает должным образом и застревает в загрузочной машине.
  • Попытка использовать "adb input keyevent" для имитации нажатия клавиш. Я понятия не имею, на что они сопоставлены, потому что они находятся в оболочке UNIX в основном, и даже тогда нет "ввода", потому что ОС не была загружена в любом случае.
  • Попытка найти файл / script в системе, которая фактически запускает wipe/reset, а затем запускает это вручную. Это может быть самым простым способом, поскольку он уже написан для меня где-то, но я просто не вижу, где он скрыт, даже в чем-то вроде CWM.

Если у кого-то есть какой-либо метод, благодаря которому я мог бы сделать это factory Reset через .bat или через оболочку adb, я был бы очень признателен. Пробовал решить эту проблему примерно на 2 дня с небольшим успехом.

4b9b3361

Ответ 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, казалось, делало то, что я искал, что было удобно, хотя я еще не полностью тестировал это на данный момент.

EDIT:

Для тех, кто все еще использует этот раздел, эти команды могут изменяться в зависимости от того, какое восстановление вы используете. Если вы используете восстановление временного слова, эти команды должны по-прежнему работать. Другие команды можно найти в /cache/recovery/command

Для получения дополнительной информации см. здесь: https://github.com/CyanogenMod/android_bootable_recovery/blob/cm-10.2/recovery.c