"Недостатнє місце для зберігання", навіть у пам'яті пристрою багато вільного місця


140

Загальний простір мого додатка - 10 Мб, а після встановлення він займе менше 20 Мб. У програмі Galaxy Note I , оновлюючи додаток, він говорить "Недостатнє місце для зберігання", де у пам'яті пристрою (внутрішня) є 214 Мб вільного місця. Трапляється навіть намагатися завантажити новий додаток.

Я довго шукав рішення та ідеальну причину причини цієї проблеми, але не можу її знайти. Як виправити цю проблему?

Це результат 'adb shell df' на моєму іншому пристрої, який має таку ж проблему. У ньому є 35 МБ вільного місця:

/dev: 115788K total, 0K used, 115788K available (block size 4096)
/mnt/asec: 115788K total, 0K used, 115788K available (block size 4096)
/system: 179840K total, 168376K used, 11464K available (block size 4096)
/data: 201856K total, 168524K used, 33332K available (block size 4096)
/cache: 108544K total, 1284K used, 107260K available (block size 4096)
/cdrom: 8960K total, 8632K used, 328K available (block size 4096)
/tmp: 2048K total, 28K used, 2020K available (block size 4096)
/pds: 1536K total, 1320K used, 216K available (block size 4096)
/mnt/sdcard: 1928992K total, 1014496K used, 914496K available (block size 32768)
/mnt/secure/asec: Permission denied

2
Можливо, вільний простір, про який ви бачите, не є власним внутрішнім сховищем, а "внутрішнім" (як у постійно паяному) "зовнішньому" сховищі. Якщо ви можете запустити adb з командного рядка, опублікуйте вихідadb shell df
Chris Stratton

Це питання форми клієнтської форми. Тому я не можу запустити оболонку adb.
Снайпер

Тоді хто можу знайти фактичну внутрішню пам’ять (вільний простір) пристрою, де будуть зберігатися програми.
Снайпер

1
Ви оголосили android: installLocation в маніфесті?
Блекбелт

8
Це питання видається поза темою, оскільки йдеться про проблему на рівні користувача. Було б краще вдома в ентузіастів Android .
Пітер Мортенсен

Відповіді:


177

Ось дуже просте рішення, яке працює на моїх Samsung Galaxy S II та Note 1 ; Я не маю уявлення про інші моделі:

  1. Відкрийте додаток телефону та перейдіть на клавіатуру.
  2. Циферблат *#9900#
  3. На екрані, який з'явиться, натисніть кнопку з написом "Видалити dumpstate / logcat".

Я відновив приблизно один Гб системного простору таким чином.


3
Це дозволило видалити внутрішній простір (приблизно 300 Мб) на моєму Galaxy Note 1, але варто зазначити. +1 від мого кінця.
Мохаммед Аріф

15
Неправильна відповідь на цю проблему. Там не бракує внутрішньої пам'яті тут !!!
Роберт Сімер

13
Мабуть, це не працює для недієвих наборів (наприклад, CyanogenMod), але дивіться відповідь rhlee, як зробити те саме, якщо ви отримаєте помилку "недійсний MMI", коли ви спробуєте це на вкоріненому, модифікованому телефоні.
ChrisC

3
Як зробити те ж саме на планшеті, який не має набірного набору і також НЕ вкорінюється ???
Jalle

1
Для мене (hammerhead, API-19) проблема була в / data / app-lib /, що містив пакет додатків, який я намагався встановити. Видаліть і зафіксуйте.
shkschneider

67

Спочатку я спробував відповідь Берислава Лопака , але отримав, Connection problem or invalid MMI code.коли спробував набрати *#9900#. Я використовував CyanogenMod по телефону, і я вважаю, що телефони із спеціальними ПЗУ не використовують набір номера, тому їм не вистачає функції SysDump.

В основному, Delete dumpstate/logcatв SysDump очищає файли журналів /data/log. Але ви також можете зробити це вручну без SysDump. (Це припустимо, що ваш телефон укорінений, що буде в тому випадку, якщо на вашому телефоні працює CyanogenMod або будь-який інший незагальний ПЗУ.)

  1. Переконайтесь, що встановлені додатки Superuser та Terminal Emulator. (Вони постачаються з більшістю призначених для користувача ROM.)
  2. Запустіть емулятор терміналу
  3. Наберіть su, поверніть.
  4. Це відобразить підказку суперусера. Надати доступ. (Вам доведеться почекати три секунди, перш ніж ви зможете натиснути "Дозволити".)
  5. Змініть поточний каталог, ввівши його cd /data/log, після чого поверніть.
  6. ПЕРЕКОНАЙТЕ, що Ви знаходитесь в data/logкаталозі, ввівши його pwd, а потім - повернути. Він повинен роздрукувати справжній робочий каталог, в якій перебуваєте /data/log. Дуже важливо переконатися, що ви знаходитесь у правильному каталозі, оскільки наступним кроком буде видалено всі файли з будь-якого робочого каталогу, в якому ви зараз перебуваєте.
  7. Видаліть усі файли в каталозі, ввівши rm *, а потім поверніть.
  8. Закрийте вікно або додаток терміналу або введіть, exitщоб залишити suсеанс.

Я видалив приблизно 1500 файлів 1 Мб, як це, і усунув мою проблему "Недостатнє місце для зберігання".

Як і в інших плакатах, у мене є Galaxy S II , тому, здається, це проблема з цією моделлю.

Якщо хтось знає про постійне рішення зупинити нарощування файлів журналів, будь ласка, дайте мені знати.

ПРИМІТКА. Деякі менеджери файлів помилково перелічують /data/logпорожні листи, оскільки вони працюють непривілейовано, а отже, не матимуть дозволу на перегляд файлів всередині.


Дякую, це був перший пост на форумі, який пояснив мені, що робити, коли * # 9900 # річ не працювала! Я підозрював, що CyanogenMod стоїть за недійсною проблемою MMI, але не знав, куди звернутися звідти. Я також використовував ES File Explorer, але він не показував мені каталог / data / log - імовірно, я забув отримати його для перегляду прихованих файлів.
ChrisC

2
@Chris Chapman: Коли ви використовуєте CyanogenMod, ви можете використовувати власний провідник файлів CyanogenMod під назвою File Manager (синя папка з білою стрілкою / колом). Перейдіть у Налаштування -> Загальні налаштування -> Режим доступу в додатку та змініть його на режим підказки користувача або режим кореневого доступу (режим підказки користувача безпечніший). Потім ви зможете переглядати файли в каталозі / data / log. Також ви зможете масово видалити всі файли. Цей спосіб простіше, але видалення файлів відбувається повільніше.
rhlee

+1! Я завжди бачу такі номери *#9900#, *#7832але не працював для мене через Cyanogen ROM.
S.Thiongane

13
Чи це стосується CyanogenMod 10.2? Тому що у мене немає папки "/ data / log". "Немає такого файлу чи каталогу".
jonS90

7
У мене є /data/і /data/data/та , /sdcard/data/але жоден з них не мають logподпапки
ендоліти

18

Операційна пам'ять може залишатися в запасі, яка буде використовуватися для запуску звичайного запуску (типу файлу підкачки). Ви можете натиснути на інший додаток або два

  • Спробуйте встановити їх відразу після перезавантаження, або
  • Примусово закриваючи деякі запущені програми (але цей другий варіант може виявитися не надто корисною - див. Перше посилання),

Але єдиним дуже хорошим виправленням може бути

  • Перерозподіліть SD-карту, щоб додатки могли бути встановлені безпосередньо на неї (див. Друге посилання).

Погляньте на форум форуму Це мало статися: попередження про мало пам'яті! .

Важлива частина:

ОС знає, скільки пам'яті потрібно для запуску програм, які у вас вже є. Це ідеальний приклад.

Тепер ви, можливо, зможете «обдурити» ОС, змусивши закрити деякі програми, які сидять в оперативній пам’яті. Це збільшить ваше «відро» пам’яті, що може дозволити вам встановити додаток, але пам’ятайте, що якщо ви робите такі типи речей, ви будете викликати проблеми лише в дорозі .. відставання, повідомлення про помилки тощо (тому що ви обманюєте ОС думаючи, що ви дали йому додаткову пам’ять, яка насправді ви зробили .. ви лише змушені закритись).

Ще одне добре пояснення того, що відбувається, - це повідомлення на форумі " Низька внутрішня пам'ять" .

Важлива частина:

Причина, чому ваш внутрішній простір заповнюється, - у 3 рази. По-перше, коли додаток "переміщено" на SD-карту, воно не повністю переміщене. Насправді йдуть лише його частини. По-друге, кеш-пам'ять програми Dalvik все ще зберігається у внутрішній пам'яті (що займає значну кількість місця). По-третє, дані для додатків та всіх системних налаштувань зберігаються у внутрішній пам'яті (так, деякі додатки використовують SD-карту для частини своїх даних, але кожен додаток має дані, що зберігаються у внутрішній пам'яті).

І нитка містить пропозиції щодо того, який розділ ви можете зробити на своїй SD-картці, щоб дозволити "застосувати програми"!


5
Згідно з androidforums.com/evo-4g-support-troubleshooting/… , "Ага, що? Все це неправильно. Область ROM, де встановлені додатки, не пов'язана з областю оперативної пам'яті, де запускаються / кешуються програми. звільніть оперативну пам’ять, а не ROM. Ви не зможете встановити більше додатків у цю область, просто убивши їх від запуску ". (Я думаю, що ROM - це неправильний термін, але все ж)
nafg

1
"ROM", пам'ять лише для читання, тут взагалі не обговорюється. Кожен тип зберігання, про який ми обговорюємо, може змінюватися, на відміну від ROM. Те , що в даний час обговорюється ОЗУ і місце для зберігання, і навіть ці поняття розмиті поняттям простору підкачки, в яких один діє як інші. Якщо у вас є інші відповіді на повідомлення, це може бути конструктивним, але аргументи, що вказують на ПЗУ, здаються набагато меншими.
AM

7
Повна дурна відповідь. 1) Ми не говоримо про оперативну пам'ять, але ви. Чому? 2) Android не використовує своп (за замовчуванням). 3) ОС не резервує оперативну пам’ять для встановлених програм. 4) Внутрішня пам'ять пам’яті не заповнена, як зазначено в оп !! 4) @Sniper Прошу вас, не приймайте цю нецензурну відповідь!
Роберт Сімер

3
Ця відповідь не здається актуальною. Нижче наведено більше корисних відповідей.
Містер Ед

1
@AM Ви абсолютно не в змозі. ПЗУ - це внутрішнє сховище телефону (як жорсткий диск у комп'ютері). Оперативна пам’ять - це «дряпалка», яку використовує процесор під час роботи, і де ваші програми завантажуються під час роботи. Зважаючи на всі твердотільні накопичувачі, термін ПЗУ справді був "затуманений". Це дійсно зводиться до двох різних типів "пам'яті" 1) енергонезалежна пам'ять (оперативна пам'ять) швидка і вимагає енергії для "зберігання" речей, тобто, як тільки вимкнено пристрій, ця пам'ять буде стерта. 2) енергонезалежна пам'ять (ПЗУ) - це місце, де дані зберігаються навіть при відсутності живлення.
Майк U

12

У менеджера пакунків ("інсталятор") є проблема дизайну: він не може розрізнити купу можливих помилок і регулярно придумує виправдання "недостатнього місця".

Перші кроки виконуються: визначте, що це проблема встановлення (1.) і не пов’язана з дефіцитом пам’яті (2.)

  1. Це відбувається на консолі ( pm install file.apk), за допомогою Google Play, інших ринків та встановлення вручну GUI (наприклад, "натискання" на завантажений файл APK ); це не проблема завантаження, ...
  2. Пакети закінчуються повністю на /dataрозділі, або в основному на SD-карті (і трохи далі /data). - Обидва місця показують достатньо місця, як зазначено в оригінальному плакаті (33 МБ та> 900 МБ відповідно) для пакету <20 Мб. –І - на /dataрозділі більше 10% безкоштовно (33 МБ більше 10% від 200 МБ).

Дивно, але більшість відповідей не враховує цього ...

Насправді /dataрозділ потребує очищення від залишків попередніх встановлень.

  • Визначте загальну назву проблемного пакету (наприклад, com.abc.def)
  • Видаліть пакет (наприклад, pm uninstall com.abc.def)
  • Перевірте, що залишилось у даних (наприклад, find /data -name 'com.abc.def*')
  • Видаліть цей матеріал

Інсталятор задихається від них, повертаючись з неправильної причини. - Цікава частина: якщо пакет встановлюється на SD-карту (примусово чи іншими способами), деякі (усі?) Залишки /dataне зашкодять ... що призводить до помилкової думки, що це дійсно космічна проблема ( більше місця на SD-карті ...)!

Питання про переповнення стека, звідки я отримав половину цього, - це рішення помилки INSTALL_FAILED_INSUFFICIENT_STORAGE на Android .


6

Перше, що потрібно зробити, це перевірити деталі повідомлення про помилку. Для цього ви можете використовувати додаток LogCat .

Для мене проблема була такою помилкою

Cannot rename native library directory /data/app-lib/vmdl-... to /data/app-lib/com.xyz

Рішення полягало в тому, щоб активувати функцію здорового глузду в моєму мозку та шукати папку com.xyz у папці-lib за допомогою ES-Explorer. Я визнав, що ця папка вже там. Таким чином, його усунення вирішило проблему перейменування, і програми тепер можуть правильно встановитись.


3
Нібито сумно, скільки рішень покладається на завантаження та встановлення ще одного додатка
Mooing Duck

6

Ця ж проблема була і для мого телефону, і це вирішило проблему:

  • Перейдіть до Application Managerпункту AppsНалаштування.

  • Виберіть Google Play Services.

Введіть тут опис зображення

  • Натисніть Uninstall Updatesкнопку праворуч від Force Stopкнопки.

  • Після видалення оновлень ви побачите Disableкнопку, яка означає, що ви готові.

Введіть тут опис зображення

Зараз ви побачите багато вільного місця.


1
і ви повинні зробити те ж саме для кожного додатка, особливо для Google. Не забудьте відключити автоматичне оновлення програм раніше.
GoTo

2

У мене також була проблема під час встановлення програми після того, як я її видалив. Я вирішив завантажити Lucky Patcher, а потім натисніть на меню - усунення несправностей - видаліть виправлення та резервні копії (недостатньо місця для зберігання). Будь ласка, зауважте, що вам потрібно вкоренити свій пристрій.


У моїй Lucky Patcher (версія 3.6.7) в меню немає "видалення виправлень та резервних копій".
Роберт Сімер

Я не можу встановити Lucky Patcher через ту саму помилку. Він не виграв навіть встановити ADB ...
Metafaniel

2

У мене не вкорінений Nexus 4 (у якого лише внутрішня пам’ять, SD-карта), і ця помилка отримувалась при більшій версії додатків. Менші додатки добре оновлюються.

Я виявив, що це було тому, що я нещодавно зареєструвався в службі Play Music Повний доступ і записав кілька альбомів.

Вони завантажуються на прихований /dataрозділ, і саме цього не вистачало місця (я припускаю)

Я відкрутив пару альбомів і зараз не маю проблем із встановленням додатків.


2

1. Перезавантажте телефон, а потім перевстановіть програму !

Я також отримував таку ж проблему Insufficient Storage Availableна своєму пристрої, але я перезапустив свій пристрій , і він працював чудово!

PS .:

2. Встановіть додаток на зовнішній накопичувач

Для цього встановіть Storage Locationнаступну команду

adb shell pm set-Install-Location 2 // 2 for external storage ([SD card][1])

adb shell pm set-Install-Location 1 // 2 for internal storage 

adb shell pm set-Install-Location 0 // for auto

2
Дякую Тарсем! Я намагався перезапустити більше 20 разів, але не пощастило .. :(
Снайпер

1
Установка на sdcard уникає проблеми, але не вирішує її (див. Мою відповідь) –і– ви можете встановити проблемний пакет на sdcard простіше, як це:pm install -s package.apk
Роберт Сімер

2

У мене була ця проблема навіть з великою кількістю внутрішньої пам'яті та пам'яті SD. Це рішення призначене лише для програм, які не оновлюються або раніше були встановлені на телефоні та не встановлюватимуться.

Здається, що в деяких випадках є каталоги, що залишилися від попередньої інсталяції, і нова програма не може їх видалити або перезаписати.

Перше, що потрібно зробити - спробувати спочатку видалити додаток і спробувати ще раз. У моєму випадку це працювало для декількох додатків.

Для наступного кроку вам потрібен кореневий доступ на вашому телефоні:

За допомогою менеджера файлів перейдіть до / data / app-lib та знайдіть каталог (або каталоги), пов’язані з додатком. Наприклад, для розпалу це com.amazon.kindle. Видаліть ці. Також перейдіть до / data / data і зробіть те ж саме.

Потім перейдіть до магазину гри і перевстановіть додаток. Це працювало для всіх програм у моєму випадку.


1

У мене була така ж проблема, і вона була вирішена за допомогою програми Cache Cleaner .

(HT: acejavelin @ Android Форуми )


1
Насправді, це не так нерозумно. У мене є ця проблема в моєму Galaxy S2, і в неї було достатньо пам'яті для встановлення програми, і випущено близько 87 Мб. Але це не вирішило загальної проблеми.
Містер Ед

Гмммм. Може бути, це DID виправити мою проблему. Я спробував пропозиції у відповідях на це запитання (встановити на sdcard, Dial * # 9900 # "Видалити dumpstate / logcat", запустити Cache Cleaner), і спочатку він все ще не працював, тобто у нього з’явились помилки при оновленні існуючих додатків (помилка 902, якщо бути точним). Але після перезавантаження телефону вдалося оновити належним чином! А тепер, здається, все нормально.
Містер Ед

1

Я спробував кілька запропонованих рішень, але жодне з них не працювало на мене. Після деяких досліджень я натрапив на підказку перенести деякі програми з /data/appна/system/app . Це звільнило достатньо місця для встановлення нових програм та оновлення існуючих.

Я можу порекомендувати безкоштовну утиліту SystemCleanup для переміщення програм.


Була така ж проблема, і SystemCleanup мені допоміг. Я рекомендую!
Eran Egozi

1

Це найпростіше зробити. Ідіть settings шукати storageабо memoryторкатися його і шукати cached data. торкніться його та очистіть свої дані звідти. ПРОСТО !!!


0

Чи обов’язково потрібно встановити додаток у внутрішньому сховищі? Якщо ви не запускаєте жодної служби, ви можете спробувати встановити її на зовнішньому сховищі. Це можна зробити, додавши наступний код у свій маніфест:

 manifest  
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:installLocation="preferExternal".....

Зазвичай це працює в ОС Android 2.2 і вище у більшості випадків. Будьте впевнені, що ваш додаток буде працювати належним чином, якщо він встановлений на зовнішньому сховищі. Ви отримаєте гарне уявлення про те, які програми можна встановити на зовнішньому сховищі в Location Install Location .


0

Що стосується пристроїв ареалу, поведінка пристроїв здається різною для різної групи пристроїв.

Деякі з дивних збірок думок, які я чув від різних людей, це:

  • Перезавантажте пристрій після від'єднання від мережі
  • Видаліть деякі програми з пристрою та звільніть щонайменше 100 Мб
  • Спробуйте встановити додаток із командного рядка, ./adb install ~Application_path
  • Перемістіть заявку на зберігання на SD-картці або зробіть її за замовчуванням на SD-картці у файлі маніфесту Android, android:installLocation="preferExternal"
  • У папці Raw ви отримали багато пам'яті, яка встановлює копію в пам'ять телефону під час встановлення файлу APK, а у пристрою недостатньо пам'яті для завантаження.
  • Викорініть свій пристрій і встановіть хороший ПЗУ, який допоможе сповістити пристрій про його пам'ять.

Я сподіваюся, що одна з них стосується вас! ;)


0

Більшість наявного у вас місця займає ОС. Найкраще і просте виправлення - переміщення ваших додатків у зовнішню пам’ять. Це звільнить для вас багато місця.


0

Для повного встановлення деякі програми потрібно перезавантажити. Android просто каже, що з якоїсь причини недостатньо пам’яті - він повинен сказати, що для завершення встановлення потрібно перезавантажити. Спробуйте - він встановиться повністю автоматично при перезавантаженні.


0

Я вирішив це питання для себе. Хоча внутрішня та пам'ять SD демонстрували багато вільного місця. Це була проблема з пам’яттю телефону, яка була майже повною.

Отже, я перемістив багато своїх додатків із пам'яті телефону до внутрішньої пам’яті, щоб звільнити пам'ять телефону: Налаштування -> Зберігання -> Програми (у розділі внутрішнього зберігання) -> Внутрішня вкладка

Ось ті, які не перевіряються і займають місце в пам'яті телефону.

Клацніть на програми (по черзі). Натисніть кнопку: "Перейти до внутрішнього сховища".

Після того, як ви звільнили значну кількість місця в пам'яті телефону таким чином, помилка не повинна виникнути.


0

Після видалення декількох додатків я можу встановити нове ...

Я думаю, ОС обчислює загальну пам'ять, необхідну для запуску всіх додатків. Якщо він не підходить, то він говорить "у достатній кількості пам'яті".


0

У мене був такий самий випуск щодо Galaxy S4 (i9505) на ROM ROM (4.2.2 ME2). У мене було вільне місце на кшталт цього: 473 Мб /data, 344 Мб /system, 2 Гб /cache. Під час завантаження з Play Store я отримував безкоштовну помилку інтерфейсу (невеликий додаток, 2,5 МБ), я перевіряв LogCat , там написано "Скасувати завантаження ABC, оскільки недостатньо вільного місця".

Тоді я звільнив трохи місця /data, 600 Мб безкоштовно, і тепер він працює нормально, завантажуйте та встановлюйте програми;). Тож здається, що цьому ПЗУ потрібно трохи більше вільного місця для роботи.


0

Очищення кеш-пам’яті Google Play також допоможе вам ... Перейдіть на сторінку інформації про додаток Google Play та очистіть її.


0

Я не знайшов безкоштовного рішення, яке працювало, але знайшов рішення: я використав невільну версію резервного копіювання Titanium, натиснув на контекстну кнопку і вирішив перевірити пам’ять, яку займають додатки. Знайдіть додаток для завантаження, і ви побачите, що в ньому є певний простір, відведений його кешу. Очистити дані - це потрібний варіант.


0

Я отримав те саме повідомлення про помилку, якщо ім'я пакету було занадто довгим (> 128 символів). Просто використання коротшої назви вирішило проблему.


0

У мене було більше 2 Гб внутрішнього простору, але я не зміг встановити / оновити програми ні з Google Play, ні вручну.

Що б не було причиною, протирання розділу кеша вирішило мою мету.

Етапи: Відновлення -> Протріть розділ кеша -> Перезавантажте систему зараз


0

Якщо у вас є root, видаліть усі папки на шляху:

/data/app-lib/

А потім перезавантажте пристрій.

У мене виникло це питання багато разів, і це виправлення працювало для мене кожен раз. Він навіть має нитку XDA .

Я пишу всі папки, тому що якщо є проблема з одним додатком, є велика ймовірність виникнення цієї проблеми і з іншими програмами. Крім того, прикро знайти лише папки проблемних додатків.


0

Перейдіть у Налаштування, програми, усі та видаліть Google Play Store. Це замінить стару версію, і тоді ви можете завантажити без "Недостатня помилка зберігання" Це працює для мене


-1

У мене все ще виникала ця проблема, і я очищав кеш Dalvik за допомогою Titanium Backup. Вам потрібно буде вкоренити телефон. Як тільки я це зробив, мені вдалося оновити Swiftkey та Beautiful Widgets.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.