Очистить Dalvik Cache без рута?

Недавно я попытался обновить свой Motorola Atrix 4g. Он загрузился, а затем загрузился, чтобы попытаться обновить. Однако вместо обновления он загружается на экран, который просто говорит

Failed to boot 2
Starting RSD mode

Если я вынимаю аккумулятор, я загружаю телефон примерно на 60 секунд, прежде чем он снова начнет выключаться.

Телефон рутирован, и кажется, что он начинает выключаться, как только Android начинает выдавать привилегии root.

Просматривая различные форумы в Интернете, кажется, что лучшим решением для предотвращения попыток обновления телефона (без удаления всех моих данных путем сброса телефона до заводских настроек) является очистка кеша Dalvik.

Проблема у меня в том, что пока вроде бы для очистки кеша нужен рут, но как только мой телефон проработал достаточно долго, чтобы выдать рут, он перезагружается, и я ничего не могу сделать с этим. Чтобы усугубить проблему, я, кажется, не могу загрузиться в рекавери...

Есть ли способ очистить Dalvik Cache (очень, очень быстро и) без рута (или восстановления)?

Ответы (5)

Я наконец понял это, вот как я это сделал:

Несмотря на то, что adb не может получить рут, и сам телефон не может получить рут, как оказалось, на самом деле есть еще один способ очистить кеш без полной загрузки телефона.

  • Выключи телефон
  • Убедитесь, что на вашем компьютере работает fastboot
  • Нажмите кнопку питания на телефоне, а затем удерживайте кнопку уменьшения громкости, пока не увидите fastboot, затем нажмите кнопку увеличения громкости.
  • Откройте окно терминала и введите следующее

    sudo su
    fastboot erase cache
    

И (видимо) вуаля! Кэш очищен!!

Ага, /cacheочищается. Но нет /data/dalvik-cache. Цитирование rootzwiki : fastboot eraseочень прямолинейно: он стирает указанный раздел. Пример: fastboot erase cacheсотрет содержимое /cacheраздела. Повторюсь: это app-cache , а не Dalvik-Cache.
@Izzy Есть ли в fastboot какая-то конкретная команда для удаления кеша Dalvic/ART? Без использования TWRP?
@ Shayan, насколько мне известно, нет.

Это вряд ли возможно. Кэш Dalvik хранится в /data/dalvik-cache, и выполнение ls -l /data(как root) показывает:

drwxrwx--x system   system            2013-03-29 14:54 dalvik-cache

Как видите, он принадлежит пользователю systemгруппы system, а все остальные пользователи имеют только разрешение «выполнить» (т. е. им разрешено только переходить в этот каталог). Копаем немного глубже с ls -l /data/dalvik-cacheшоу, например:

-rw-r--r-- system   app_17    6416640 2013-03-02 00:28 data@app@com.google.android.apps.maps-1.apk@classes.dex

Все файлы здесь снова принадлежат system, который снова является единственным пользователем с правами на запись (то есть также единственным, кто может удалять файлы). Приложение, соответствующее каждому .dexфайлу, представлено в виде группы; но, как и все «другие» пользователи, имеет только права на чтение.

Вывод: удалять можно только rootздесь -- будь то из обычной оболочки или через кастомное рекавери, например, ClockworkMod. Ну или через , конечно...


Однако вы можете попробовать загрузиться в . Если какое-либо пользовательское приложение вызывает проблемы, устройство должно загружаться нормально (поскольку все пользовательские приложения пропускаются в безопасном режиме). Второе предложение — подключить ваше устройство через USB и попытаться захватить logcat (через adb logcat), чтобы получить дополнительные подсказки о том, что может вызвать проблемы. Это, конечно, потребует включения отладки по USB . Если он еще не включен, вы можете сделать это из безопасного режима (я не уверен в этом, так как никогда не пробовал).

Сделай это:

SDK/платформенные инструменты/оболочка adb

 shell@android:/ $ su system                  # switch from user "root" to "system"
 system@android:/ $ cd data/dalvik-cache/
 system@android:/data/dalvik-cache $ rm *
 system@android:/data/dalvik-cache $ exit
 shell@android:/data $ exit

и перезагрузите телефон.

Напоминаем: НЕМЕДЛЕННО перезагрузитесь.
Вы уверены, что «система su» будет работать без рута?
Это не работает без рута, потому что у вас нет двоичного файла su.

Делайте резервные копии.

Если у вас есть топливо, которое теперь работает, установите:

  1. Яркий сейчас

  2. Установите расширенное восстановление, такое как TWRP (зависит от топлива ) . Затем вы можете запустить восстановление только из работающей системы (комбинация клавиш пока не работает, перейдите из диалоговых окон Flashy, чтобы запустить восстановление TWRP).

  3. После восстановления ваш компьютер, наконец , может работать с ADB (наконец-то получив оболочку, я тестировал на другом топливе), и, надеюсь, оттуда вы не будете заблокированы (как я) и сможете разблокировать загрузчик.

    Потому что, если вы этого не сделаете, вы замените свой телефон, если он выйдет из строя. LG сказал, что у меня это произошло (повторяющиеся остановленные процессы, отсутствие использования телефона) только благодаря регулярным автоматическим обновлениям! Это прогрессировало до отсутствия доступа к настройкам.

Как это ответ? Извините, но это должно быть отмечено по нескольким причинам.
Привет! Это не форум, поэтому, пытаясь ответить на вопрос, отвечайте только на то, что было задано . Я удалил некоторую информацию из вашего ответа, потому что нашел ее здесь ненужной. Тем не менее, постарайтесь писать упорядоченно. Не используйте аббревиатуры или краткие формы для чего угодно. Прочтите руководство по форматированию, чтобы лучше структурировать свой ответ. И, наконец, пожалуйста, продолжайте в том же духе, отвечая здесь. :) // Другое дело, что я не проверял, является ли ваш пост вообще ответом на вопрос или нет.

Вам даже не нужен root, чтобы очистить кеш dalvik. Сделать это можно с помощью стокового рекавери. Выключите телефон и загрузитесь в рекавери (я не знаю, что такое комбинация клавиш для atrix, поэтому вам придется поискать ее, так как комбинация клавиш отличается от одного телефона к другому) и найдите вариант, который говорит что-то вроде «очистить кэш dalvik», нажмите громкость вниз, чтобы выделить его, и включите питание, чтобы выбрать его, и подождите, пока он загрузится, что, вероятно, займет намного больше времени, чем обычно, что нормально. Оставьте его на некоторое время, пока он перестраивает ваш список приложений. Я не знаю, что может быть по-другому, так как он укоренен. Я слышал, что папка dalvik имеет размер более 3 ГБ.