install failed insufficient storage

Ошибка INSTALL_FAILED_INSUFFICIENT_STORAGE — это провал каждой жизни разработчика Android. Это происходит независимо от размера приложения или объема хранилища. Перезагрузка целевого устройства кратко устраняет проблему, но вскоре возвращается. Есть сотни (если не тысячи) сообщений на доске сообщений от людей, которые спрашивают, почему проблема возникает, но люди в Google разочаровывают молчанием в этой проблеме.

Существует обходное решение. Если ваше тестовое устройство работает под управлением Android 2.2 или более поздней версии, добавьте атрибут android: installLocation в файл манифеста приложения со значением » preferExternal«. Это заставит приложение быть установленным на внешнем хранилище устройства, например, на SD-карте телефона.

Это скорее полоса, чем исправление, и это может быть не идеально, если вы хотите, чтобы готовое приложение устанавливалось на внутреннюю память устройства. Но это, по крайней мере, сделает процесс разработки намного менее расстраивающим.

Это только временное обходное решение, а не реальное исправление.

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

Прежде всего, немного (упрощенный) фон о том, как Android устанавливает и обновляет

Файл APK сохраняется как

Когда приложение должно быть обновлено:

Обновленный файл APK сохраняется как:

Первая версия (1.apk) удаляется.

В нашем следующем обновлении (обновлениях):

  • Новый APK сохраняется как (1.apk) и (2.apk) удаляется (повторите навсегда).

Проблема, с которой большинство из нас сталкивается, происходит, когда приложение обновляется, но удаление старого APK не выполняется. Которое само по себе еще не вызвало обновление, но оно вызывает два файла APK в /data/app .

В следующий раз, когда вы попытаетесь обновить приложение, система не сможет переместить свой временный файл, потому что ни (1.apk), ни (2.apk) пусты. Поскольку File # renameTo (File) не генерирует исключение, но вместо этого возвращает логический PackageManager, он не имеет никакого способа сказать, почему он возвращает INSTALL_FAILED_INSUFFICIENT_STORAGE, даже если ошибка не имеет ничего общего с количеством свободного места.

ИЛИ

Используйте свой любимый метод для удаления ОБА:

Убедитесь, что ничто иное не блокирует будущие установки аналогичным образом. В моем случае у меня был каталог /data/app-lib/ -1 , который задерживался! В этом случае работала установка на

Вам нужно увеличить емкость памяти эмулятора Android. Для этого есть два способа:

Щелкните правой кнопкой мыши корень вашего проекта Android, перейдите в «Run As», а затем перейдите к «Run Configurations. «. Найдите «Android-приложение» node в дереве слева, а затем выберите свой проект и перейдите на вкладку «Цель» в правой части окна, посмотрите вниз в поле «Дополнительные параметры командной строки эмулятора» (иногда вам нужно сделать окно больше) и, наконец, вставить «-разрядный размер 1024». Нажмите «Применить», а затем «Выполнить», чтобы использовать ваш эмулятор.

Перейдите в Настройки Eclipse, а затем выберите «Запустить» Добавить «-разрядный размер 1024» в опции «По умолчанию эмулятор» «поле. Нажмите «Применить» и используйте свой эмулятор, как обычно.

Спасибо за сообщение этого вопроса. У меня есть некоторые дополнительные идеи, которые могут помочь некоторым разработчикам.

Я отлаживаю свое приложение на устройстве (а не в эмуляторе). Устройство имеет 21 MB бесплатно на /data (как показано «df» при выполнении «adb shell» ), а мое приложение — всего 5 Мб. Тем не менее, я обнаружил, что если бы я удалил другие приложения на устройстве (без перезагрузки телефона или перезапуска adbd), INSTALL_FAILED_INSUFFICIENT_STORAGE уйдет некоторое время, а затем вернется.

Итак, кажется, что отладка моего 5-мегабайтного приложения требует больше, чем 20 Мб пространства в /data , и, кроме того, что-то просачивалось каждый раз, когда я отлаживал свое приложение.

Итак, я сделал «adb shell» и перечислил каталог ENTIRE /data с

И я посмотрел вывод на 5000 строк, чтобы увидеть, куда все пространство идет.

Я обнаружил огромное количество потерянного пространства на моем устройстве в каталоге /data/klog в виде старых файлов журналов из месячных сеансов отладки.

Это были не мои файлы журналов: они были созданы какой-то частью инфраструктуры Android.

Я удалил их и мгновенно сохранил 58 Мб, которые не были отнесены в приложении «Настройки» к определенному приложению. У меня небольшое устройство, поэтому 58 МБ очень значительны (около 40%).

До сих пор я не получил INSTALL_FAILED_INSUFFICIENT_STORAGE после многих запусков. Пусть надеется, что это была настоящая проблема, хотя OP предполагает, что у его устройства было много места (но он не сказал, сколько).

Надеемся, что некоторые из вас также смогут избежать INSTALL_FAILED_INSUFFICIENT_STORAGE, периодически удаляя /data/klog/* .

Или вы можете, по крайней мере, сделать ls -a -l -R в /data , чтобы увидеть, куда движется все ваше пространство, если действительно есть какая-то (скрытая) проблема пространства.

Updated on Jun 26, 2018 by Jean to Android Data Recovery

Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

I’m getting «Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE» error while installing the application on my device today. I have deleted some files on my SD card, but still face the issue. I’m sure it’s not the issue with the space on SD card. Can anybody suggest how to resolve this?

Overview

It’s said that 9 out of 10 Android users have been facing the insufficient space on Android while installing an app or whatever, even though there is a plenty of storage space on both the internal memory or external SD card. How did the failure come?

Causes

Primarily, you got to know how an Android app installation or update takes effect. For example, the first time an app is installed, and the APK file is saved as /data/app/-1.apk (1.apk). When the app is to be updated, the updated APK file is saved as /data/app/-2.apk (2.apk). Under normal circumstances, the first version (1.apk) gets deleted.

Now you ought to get the point. When an updated app is about to install, whereas the old APK file was not deleted, and it’s really happened a lot amongst many Android devices. 1.apk stays where it was, the system is now going nowhere to place the 2.apk only sends an installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE.

Solutions

So, how are you going to troubleshoot the wrongly reported «insufficient storage» error? Usually, just reboot your device once or twice would clear the message away, but it’ll surely come back soon. We know it’s a nightmare for Android players not being able to install desired game apps, music apps, video apps and others due to such irritating prompt.That’s why we did a lot of research and studies, to verify the following 3 fixing methods that can fix INSTALL_FAILED_INSUFFICIENT_STORAG error.

First of all, before attempting to try the workarounds, never, on any account, forgot to backup Android to PC in advance. It’s an essential procedure that you must do it likewise.

Step 1. Backup Android, including contacts, messages, pictures, videos and anything important

1) Download and install EaseUS MobiSaver for Android on a Windows PC.

2) Connect the target Android device to the PC, and wait for the software to recognize the device. Click «Start».

3) The scanning process is for searching the existing and lost data on the Android phone.

4) All the Android data is found and displayed, select all files that you’d like to save a copy and click «Recover» button. You can put the bakcup file to the PC storage or other storage media like a USB flash drive or a memory card.

Step 2. Check each workaround to fix installation error: INSTALL_FAILED_INSUFFICIENT_STORAG

EaseUS Android data recovery tool has ensured the data safety, so you can carefully check each workaround we provided in the below part to nail it.

Fix 1. Delete both apk files

1) Uninstall the app
2) find the path of both files and use your method to delete them all.

Or just run(this is somewhat higher leveled):

adb shell «pm uninstall »
adb shell «rm -rf /data/app/ -*»

Fix 2. Add android:installLocation attribute

1) In your Andro within your manifest tag.

package=»com.packagename.appname»
andro
andro
andro >

2) Go to settings —> storage —> click on cached data and clear the cache data in your device. This will clear the cache and free the space.

3) Reconnect your device, clean your project and again run it on the device. The project will now run on your device.

Fix 3. Increase Android emulator’s memory capacity

1) Right click the root of your Android Project, go to «Run As» and then go to «Run Configurations. «.
2) Locate the «Android Application» node in the tree at the left, and then select your project and go to the «Target» tab on the right side of the window.
3) look down for the «Additional Emulator Command Line Options» field and finally paste «-partition-size 1024» there.
4) Click Apply and then Run to use your emulator.

Related Articles — ALSO ON EaseUS SOFTWARE

Tracy King — Android 6.0 Marshmallow is now available for Nexus 6 and all Nexus 6 users can update their devices into the newest Andr…

Tracy King — Lost Kik messages/photos? Effective methods for Kik messenger recovery are available here to help you restore precious l…

Tracy King — Some users may have this problem that they have to type and save their Android contacts number one by one into their new…

Jean — Receiving Snapchat toggle private status failed or Snapchat memories backup error while trying to backup snaps, stories,…

Продолжаем воевать с нашими UI авто-тестами.

В целом тесты работают, но иногда вылазят интересные проблемки.

Сегодня наш QA-инженер скинул сообщение, что все UI-тесты упали с такой ошибкой:

Собственно, первое, что бросается в глаза — сообщение «Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]’; Code: ‘1’«.

По первому же запросу в Google «android INSTALL_FAILED_INSUFFICIENT_STORAGE» находится вопрос на StackOverflow тут>>> , где есть подходящий ответ, который описывает проблему — тут>>> .

Запускаем используемый в тестах эмулятор:

$ emulator -avd Nexus_5X_API_26

Запускаем в нём консольку:

Проверяем свободное место:

148M 93% /data — 148 метров, ну да — маловато.

Не посмотрел — сколько весит наша apk-шка, но места явно недостаточно.

Пробуем посмотреть что в каталоге:

Ну и окей, ну и не надо.

Решения есть, но рутать не хочется — только время тратить.

Просто добавим места — его на билд-машине много.

Оцените статью