Очистить кеши от ADB?

13

Как очистить кеши (приложение, отдельные приложения, Dalvik, ART, если возможно) через ADB?

Использование приложений, восстановление или настройка через настройки - это не вариант для меня. Также мой телефон не рутирован.

LakeHMM
источник
Соответствующий ответ по переполнению стека .
Повелитель огня
Вы хотите очистить только кеш, или кеш + данные тоже подойдут? Я думаю, что это ваш оригинальный вопрос, и вы разместили здесь урезанную версию.
Повелитель огня
Большое спасибо за ваш ответ. Я на самом деле надеюсь только очистить кеш, но сохранить данные. Похоже, что очистка кэша Dalvik невозможна без рута. Я еще нигде не нашел никого, кто бы говорил о том, чтобы как-то стереть кэш ART. (Я опубликовал новый вопрос, который был более конкретным и менее плотным, поскольку другой, казалось, отпугивал людей. Да, я думаю, плохо, но этот вопрос технически более конкретен и, следовательно, отличается.)
LakeHMM

Ответы:

17

АБР близок, но такие вещи, как adb shell pm clear <package_name>очистка кешей (и данных, упс) из выбранных приложений, требуют наличия рута (как при очистке кеша Dalvik). Но есть аналогичный подход, позволяющий просто стереть все кэши приложений (но не Dalvik / ART): это fastboot erase cacheможно сделать, загрузив устройство в загрузчик. Подробности можно найти, например, здесь: Полезные команды ADB и Fastboot и как их использовать .

Иззи
источник
Выглядит многообещающе! Мне все еще неясно, как это сделать. adb reboot bootloaderи adb reboot fastbootоба, кажется, просто перезагрузить телефон в обычном режиме. Я не знаю, что они должны делать, но это похоже на обычную перезагрузку и приводит меня в обычный интерфейс. А потом fastboot devicesничего не перечисляет, хотя и adb devicesделает. Я пытался fastboot erase cache, но это просто говорит < waiting for device >навсегда. Что именно я должен сделать, чтобы иметь возможность выполнить fastboot erase cache?
LakeHMM
1
Если вы видите пользовательский интерфейс, это определенно не был режим fastboot / bootloader. Bootloader - это самый низкий уровень, на который вы можете загружаться, так сказать, очень простая ОС. Вы можете проверить в нашей fastboot tag-wiki и найти его вопросы по своему устройству, чтобы выяснить, как перевести его в этот режим. Если вы не можете понять, не стесняйтесь задавать новый вопрос по этому вопросу. И да, fastboot devicesбудет только сообщать о вашем устройстве в режиме fastboot - где adb devicesне будет ничего сообщать.
Иззи
Так что нет способа очистить только кеш? @ Иззи
Шаян
@Shayan не то, что я знаю - за исключением корневых устройств (см. Ответ Сео для этого).
Иззи
3

Если у вас есть root-доступ , с помощью adb вы можете очистить кеш.

rm -r /data/dalvik-cache
rm -r /cache/dalvik-cache
Сео Акула
источник
для этого требуется root, и возникает вопрос, как это сделать без root.
Дакатин
@Seo Shark Это удалит кеш всех приложений, есть ли способ удалить кеш определенного приложения?
Шаян