Ошибка «недостаточно свободного места на диске» в Titanium Backup

44

Из-за проблемы с внешней SD-картой я подумал, что должен сбросить настройки телефона до заводских, а затем переустановить прошивку на нем. Однако прежде чем я сделаю это, мне нужно будет сделать резервную копию своих приложений и их данных, чтобы потом можно было их восстановить. Для этого я полагался на Titanium Backup Pro, поэтому я вошел в приложение, изменил каталог резервного копирования на /storage/emulated/legacy/TitaniumBackup(поскольку внешняя SD-карта была недоступна) и попытался выполнить резервное копирование всех пользовательских приложений и системных данных. Появилось диалоговое окно с прогрессом, которое застревало на 0% в течение примерно 30 секунд, пока оно не закрылось, и Titanium Backup отобразил уведомление «Пакетное резервное копирование прервано: недостаточно свободного места для хранения», несмотря на то, что осталось 7 гигабайт /storage/emulated/legacy.

Я попытался найти решение в Google - единственное, что было найдено, это удалить, /data/app/com.keramidas.TitaniumBackup-1.odexно файл не существовал с моей стороны. Как я могу исправить эту проблему?

Пояснение : Моя копия Titanium Backup - это версия Pro, активируемая ключом Pro, полученным из магазина Google Play. Нет необходимости в каких-либо внешних патчерах, трещинах или кейгенах.

Ариель
источник
Это может звучать тривиально, не говоря уже о странности, но вы рассматривали возможность извлечения SD-карты из устройства и перезапуска последнего? Ваша проблема с SD-картой не была простой, карта была видна пользователю root (что означает приложения, работающие как root), но не другим.
Повелитель огня
этот файл odex не может существовать в этом пути, только если вы сами odexed этот титан, этот файл находится в /data/dalvic-cache/arm/data@app@com.keramidas.TitaniumBackup-1.dex
lord-ralf -адольф
@Firelord Я попытался перезагрузить устройство с удаленной картой, но это не решило проблему. Я получаю ту же ошибку от Titanium Backup.
Ариэль
@Arielle Вы пытались удалить, а затем переустановить?
Лорд-Ральф-Адольф
@ lord-ralf-adolf Я только что попробовал, и это все еще не работает.
Ариэль

Ответы:

53

Это связано с тем, что в SuperSU включена настройка «Разделение пространства имен» (по умолчанию). Снимите флажок с этого, перезагрузите компьютер и попробуйте снова выполнить операцию резервного копирования Titanium.

Это происходит потому, что я считаю, что разрешения для папок, созданных приложением, ограничены в новых версиях Android. По иронии судьбы, у меня не было этой проблемы с CM13 на основе Marshmallow, но я столкнулся с ней в OxygenOS на основе Lollipop для OnePlus One.

aalaap
источник
Это работает как шарм на моем DU ROM на базе Lollipop 5.1.1 для HTC One m7, спасибо!
№5
У меня тоже сработало. Я неделями пропускал резервные копии, думая, что мне действительно не хватает места.
Киран Джонналагадда
Большое спасибо! Это работает для меня на Kitkat 4.4.2. Это глупо, когда SuperSU молча представляет это, поскольку полностью отключает некоторые другие приложения без предупреждения и без подсказки о причине. Или это действительно вина Титаниума?
Цербер
@Cerberus Это вина Google :-)
aalaap
1
Где можно отключить разделение пространства имен? CM 12.1 не использует SuperSU.
Celeritas
6

Это происходит из-за некоторого изменения сервиса в kitkat. Некоторые исследования в Google показали, что есть приложение, которое может изменить файл platform.xml. После запуска приложение предлагает пользователю разрешить ему продолжить и внести изменения в вышеуказанный файл. После этого все работает нормально.

NextApp SDFix

оды
источник
5

При запуске TB всегда отображалось предупреждение о том, что функция разделения пространства имен SuperSU «может не работать надежно на некоторых платформах».

Ну, я никогда не сталкивался с какими-либо проблемами до недавнего обновления SuperSU ...

Таким образом, отключение этой опции в SuperSU и перезагрузка решили «недостаточно места» на моем OnePlus One / CM12.1.

Это было очевидное решение, прежде чем возиться с разрешениями и т. Д.

kaedinger
источник
3

(Titanium Backup) пакетное резервное копирование прервано: недостаточно места для хранения, это решение работает для меня, любой может попробовать проверить, работает ли оно. У меня есть исправление. Я провел небольшое исследование и обнаружил, что вы можете отредактировать /etc/permissions/platform.xml и добавить группу в WRITE_EXTERNAL_STORAGE.

Оригинал:

Добавьте группу media_rw:

Выполнено. Делаю TiBU прямо сейчас на мою внешнюю карту. Это может исправить другие приложения, которые имеют проблемы с записью на карту, я лично не нашел ни одного.

Предложите, чтобы вы сделали adb pull файла для сохранности перед этим. Если вы извлекаете файл, редактируете его и возвращаете обратно, убедитесь, что права доступа установлены на 644.

Zak
источник
У меня не было этой группы на Android 6, но она была на Android 5. Простое добавление исправило сообщение о недостаточном объеме памяти. Поэтому добавьте это выше записи «WRITE_MEDIA_STORAGE»: <разрешение имени = "android.permission.WRITE_EXTERNAL_STORAGE"> <group gid = "sdcard_r" /> <group gid = "sdcard_rw" /> <group gid = "media_rw" /> < / разрешение>
Беренд де Бур
2

В последних версиях Android пути под /storage/emulated/legacyработают только для приложений, которые их создали. Если ОС не знает, что туберкулез создан /storage/emulated/legacy/TitaniumBackup, вы получите эту ошибку.

Попробуйте использовать TB для создания каталога, затем используйте его для резервного копирования. В качестве альтернативы, используйте путь, который не начинается с /storage/emulated/legacy, как /data/media/0/TitaniumBackup. Либо должно работать.

Требор Руд
источник
Либо должно работать ... но ни один не сделал. Я попытался создать другой каталог /storage/emulated/legacyи использовать его для резервного копирования - не сработало. Я попытался использовать путь, который не начинался с /storage/emulated/legacy- /mnt/sdcard( вообще не /dataбыл доступен для Titanium Backup), и он все еще не работал должным образом.
Ариэль
Хм, я знаю, что решил эту проблему на моем TF700T после установки нового ПЗУ. Но у меня были похожие проблемы в ряде приложений. Должно быть, я использовал /dataтрюк в другом. Я предполагаю, что вы использовали TB для создания другого каталога в /storage/emulated/legacy? Иначе не получится.
Требор Руд
1

просто зайдите в супер-user-settings-untick "разделить пространство имен монтирования" и перезагрузите готово !!

abhis4u
источник
4
И причины этого?
Повелитель огня
Тот же ответ, что и самый высокий рейтинг. Titanium Backup теперь выдает предупреждение, если включено разделение пространства имен, что каким-то образом разделяет команды суперпользователя. Резервная копия Titanium не может получить доступ к нужным вещам, если пространства имен разделены.
mix3d
0

Как сказал @Izzy , это была проблема XY - я мог бы искать другое решение для резервного копирования вместо того, чтобы настаивать на использовании Titanium Backup. И я сделал - я использовал adb backupфункцию (которая работала, когда я перезагрузил свой телефон). В конце концов мне не пришлось восстанавливать резервную копию вообще, но это совсем другая история.

Ариель
источник
0

Откройте настройки вашей резервной копии Titanium. Тогда ищите вариант под названием Резервное приложение внешние данные в Настройки резервного копирования . Убедитесь, что он НЕ включен. Вместо этого установите значение «Включено, если размер меньше выбранного размера» и установите размер 35 МБ.

(Нажмите на изображение, чтобы увеличить)

IMG: резервное копирование внешних данных

Некоторые приложения имеют огромное количество внешних данных (хранящихся в /sdcard/Android/ data), особенно игры, которые могут занимать несколько концертов. Эта опция отключает резервное копирование их, поскольку они могут быть загружены снова.

Вишал Бисвас
источник
Извините, но это решение не сработало с моей стороны. Для параметра «Внешние данные приложения резервного копирования» уже задано значение «Включено, если он меньше выбранного размера», а для размера было установлено значение 32 МБ, поэтому я попытался установить для него значение «Отключено (всегда)» и повторить попытку резервного копирования ... не работает
Ариэль
@Arielle Попробуйте включить сжатие (установив BZIP2). Убедитесь, что вы просто создаете резервные копии пользовательских приложений, а НЕ системных приложений.
Вишал Бисвас
Я попытался изменить сжатие с GZIP на BZIP2 и создать резервную копию только пользовательских приложений. Все еще не работает. Хотя у меня осталось 7 ГБ свободного места.
Ариэль
В крайнем случае: запустите logcat от имени пользователя root . Это даст вам идею по крайней мере.
Вишал Бисвас
0

Если вы используете Magisk в качестве администратора суперпользователя, перейдите к settings> mount namespace modeи выберите isolated namespace. Надеюсь, это поможет кому-то!

subtleseeker
источник
-2

Я также столкнулся с этой странной ситуацией. Я не знаю, будет ли это работать или нет. Но для меня это работает.

Установите счастливый патчер . Он автоматически удалит файл odex, и вы сможете установить Titanium Backup.

Dalvik
источник
Но там, похоже, нет файла .odex. И это не кажется скрытым, учитывая его учебники в Интернете. // А TitaniumBackup уже установлен!
Повелитель огня
В моем случае такой же сценарий есть. Я также не могу просмотреть файл. Пожалуйста, установите этот APK и откройте. просто подождите 5-10 секунд, он будет автоматически сканироваться и удаляться. Вы увидите уведомление, когда это будет сделано
Dalvik
android.stackexchange.com/questions/105816/… см. мой вопрос
Dalvik
там нет odex-файла, только если вы odex-приложение самостоятельно, как, например, применение патча от lucky patcher, если вы делаете lucky patcher, примените патч к odex-файлу и поместите его в тот же каталог, что и apk (я думаю, что использование счастливый патчер незаконен - ​​просто говорю
лорд-ральф-адольф
1
@Dalvik Спасибо за помощь, но вы упускаете основной момент. Похоже, мы не можем найти этот файл odex и этот патчер - не волшебная штука, которая создаст этот файл самостоятельно, удалит его и скажет нам, что он сделал свою работу! Правильно!
Повелитель огня