Не знаю, в какую тему написать, но это ближе всего к лайфхаку :)
В общем, через 4 года использования дико, страшно заглючил телефон. Половина программ не запускается, те, что запускаются - падают. Хотел забэкапиться и перепрошиться - Titanium Backup не бэкапит, другие тоже - мол, места мало. Хотя места было 2 с лишним гига.
В общем, мрак.
В какой-то момент сумел войти в командную строку через ADB (да, и это работало через раз). Начал выяснять, почему при 2 свободных гигах программы ругаются на недостаток места.
В общем, долго ли, коротко ли, пришёл я к библиотеке под названием CrashLytics. Данную библиотеку использует много кто из разработчиков приложений, в частности - Яндекс (Map, Транспорт, Деньги, Метро - все используют это порнуху).
Её предназначение - при падениях писать логи, чтобы якобы разработчик в случае чего сумел разобраться.
Так вот, оказалось, что за много лет использования данная хрень создала сотни тысяч (и это не преувеличение) мелких файлов в подкаталоге /data/data/[приложение]/files/.Fabric/.
А подметать за собой эта порнуха не умеет. И в итоге исчерпалось количество инодов на файловой системе /data, почему программы и не могли создать новый файл (а вовсе не потому, что место кончилось).
Удалить файлы напрямую командой rm не получится - если напишете "rm *" в каталоге с дампами, интерпретатор командной строки ругается, что командная строка слишком длинная (ещё бы, столько файлов в каталоге). Поэтому пришлось написать небольшой скриптец (скрипт использует BusyBox, без него не пробовал), который чистит все логи этой порнографии для всех приложений. Надеюсь, кому-нибудь пригодится. Скрипт запускают из-под рута, через adb или из терминала, пофиг.
#!/system/xbin/ash
echo "Looking for crashlytics subdirectories..."
for x in /data/data/*/files/.Fabric/com.crashlytics.sdk.android.crashlytics-core ; do
echo "Cleaning $x ..."
find "$x" -type f -print0 | xargs -0 rm
done
Скрипт будет работать очень долго (ещё бы! столько файлов удалить надо). В конце у меня вместо 2 свободных гигов обнаружилось 4. Проблемы пропали, хотя программы некоторые так и остались покоцанные (которые в процессе работы внезапно не сумели создать своих файлов настроек итп), придётся переустанавливать.
Сообщение отредактировал anpaza - 31.03.18, 16:03