Как увеличить память для Android Emulator? (INSTALL_FAILED_INSUFFICIENT_STORAGE)


152

Я получаю это иногда (не часто) для одного из моих проектов, только пару классов
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

Как мне увеличить объем памяти эмулятора?


2
Я вижу эту ошибку довольно часто, даже когда на устанавливаемом устройстве достаточно места для хранения. Просто имейте в виду, что иногда, когда вы видите ошибку, то, что говорится в сообщении об ошибке, на самом деле не соответствует действительности.
Ланс Нанек

1
@ Pentinum10 Я получаю одну и ту же ошибку на версиях 1.5 и 2.2, закажите этот вопрос там, где требуется ваша помощь: stackoverflow.com/questions/3584297/… , пожалуйста, помогите мне и поймайте меня
Paresh Mayani

Ответы:


127

Обновить

Этот ответ, как я пишу это, почти восемь лет, и около пяти лет устарел. Но это все еще (как я пишу это) «принятый» ответ, потому что он ответил на вопрос, когда его спросили.

Более новый ответ, который относится к новым инструментам Android Studio, можно найти здесь: https://stackoverflow.com/a/35828035/62 - это отличный ответ со снимками экрана. Если вы используете Android Studio, проигнорируйте ответ Eclipse ниже.

Оригинальный ответ на основе Eclipse

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

Чтобы подвести итог (и уточнить), в Eclipse перейдите к «Отладочные конфигурации». Вы можете найти это в раскрывающемся списке под значком «отладка». Выберите «target» и выберите предпочитаемую цель эмулятора для запуска. Затем в разделе «Дополнительные параметры командной строки эмулятора» добавьте:

-размер 1024

Затем закройте эмулятор (и удалите все устройства) и щелкните значок отладки, чтобы запустить выбранный вами эмулятор. Это важно: Eclipse должен запускать отладчик, а не AVD.

Это решило проблему для меня.


8
Обратите внимание, что «размер раздела» указывается в мегабайтах, и, как правило, для установки APK требуется как минимум вдвое больше дискового пространства, чем размер APK.
Кристофер Орр

5
Еще одно замечание: Вы должны щелкнуть правой кнопкой мыши по проекту, который хотите запустить в eclipse -> Run-> Run Configuration-> Select Project-> Target -> прокрутите вниз-> add -partition-size 1024 к дополнительным параметрам Em-> затем запустите проект из затмения
SpoiledTechie.com

4
Google должен добавить это явные параметры свойства для Android 3.2 или 4.0. Исправьте проклятый плагин Eclipse AVD
peter_pilgrim

хорошая находка ... действительно должна быть раскрыта через инструменты ADT. Эмулятор ICS по умолчанию имеет только 60 МБ! невозможно установить APK на вещь из коробки.
ddewaele

1
Для тех, кто смотрит на этот принятый ответ годами позже, как я, вы, вероятно, захотите взглянуть на stackoverflow.com/a/35828035/62 .
Лирон Яхдав

90

На Android Studio

Откройте диспетчер AVD.

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

Нажмите Edit Icon, чтобы редактировать AVD.

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

Нажмите Показать дополнительные настройки.

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

При необходимости измените размер внутреннего хранилища, памяти, SD-карты. Нажмите Готово.

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

Подтвердите всплывающее окно, нажав «Да».

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

Сотрите Данные на AVD и подтвердите всплывающее окно, нажав «Да».

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

Важное замечание: После увеличения размера, если он не запрашивает автоматическую очистку данных, вы должны сделать это вручную, открыв выпадающее меню AVD и выбрав «Очистить данные».

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

Теперь запустите и используйте ваш эмулятор с увеличенным объемом памяти.


7
Изменение «Внутренняя память» ничего не делает для меня, до или после создания AVD. Это всегда идет с 300 МБ и предупреждением о нехватке места.
Трэвис Кристиан,

3
Вы стерли данные из выпадающего меню в AVD Manager, как только вы изменили размер.
Cijo

1
Я уже удалил AVD, но это происходило и с недавно настроенными незапущенными образами. В другом вопросе я обнаружил, что это проблема с некоторыми API <23.
Трэвис Кристиан,

OMG - спасибо за это! Это единственное решение, которое я нашел, которое сработало!
SammyK

2
Это должен быть принятый ответ, который должен появиться первым (не устаревшие ответы, связанные с Eclipse). Недостаточно изменить размер и запустить эмулятор (даже при использовании Cold Boot Now ). Кажется, ключом является команда Wipe Data . Спасибо!
Алекс Ванг

42

Добавьте следующее в avd config.ini

disk.dataPartition.size=1024MB

Дайте мне знать, если это работает и для вас.

Я добавил в строке Добавить конфигурацию размера раздела данных
Снимок экрана с места для хранения AVD увеличивается


Не работал для меня на 2.3 изображения. Я до сих пор вижу только 128 МБ встроенной памяти, доступной для приложений.
Матиас

1
Я заметил, что в пользовательском интерфейсе «Редактирование» AVD Manager при попытке установить это значение вручную всегда будет сбрасываться значение 0. Возможно, это связано с проблемой? Может быть, он не должен быть установлен на некоторых версиях Android?
Матиас

2
Вы должны ввести значение, например, 1024MBпри использовании AVD Manager. Вы не можете просто войти. 1024Потребовалось немного времени, чтобы понять это, и я подтвердил, что это работает
Ронни

19

Запустите AVD Manager

Выберите свой AVD и нажмите кнопку «Подробнее ...».

В моем случае AVD Manager устанавливает размер диска как

disk.dataPartition.size=4000M

Это неверное значение , диск составляет около 500 МБ, несмотря на указанные числа.

Перейдите в папку AVR по пути в разделе «Детали AVD».

Отредактируйте его в config.ini, чтобы

disk.dataPartition.size=4000MB

и удалите все .img файлы.


2
Это должен быть выбранный ответ. В текущих версиях Android Studio (3.0.1) свойства настроек редактирования недоступны, если вы используете AVD с поддержкой Google Play. Это сработало. Я изменил тестовое устройство на 400 МБ с 400 МБ, удалил все файлы * .img и * .qcow2. Вытер данные на AVD. Затем загрузил его, и он имел 2000 МБ памяти.
MLindsay

@ MLindsay, я согласен
mwa91

Просто к вашему сведению, мне не нужно было удалять * .img или любой другой файл. Достаточно просто изменить значение в config.ini.
Мохиб Шет

Спасибо! Работал для моего случая.
android_dev

10

Я делал установку apk:

adb install /home/me/jones_android-arm.apk

И я получаю сообщение об ошибке, говорящее мне, что

/data/local/tmp/jones_android-arm.apk

был слишком большой. Используя инструменты SDK из r15 и ADT 15, я смог использовать AVD-менеджер для управления некоторыми настройками моего существующего эмулятора:

Window-> AVD Manager -> (select you virtual machine) -> Edit

затем, перейдя в окно «Свойства оборудования» чуть ниже «Скин:», я смог выбрать с помощью кнопки «Оборудование: новый» «Идеальный размер раздела». Однако я не смог установить значение, отличное от «0». Неустрашимый, я пошел в свой каталог $ {HOME} /. Android / avd. Там был каталог 'MyVm.avd'. Зайдя в этот каталог, я нашел файл config.ini. Была запись:

disk.dataPartition.size=0

Я установил это на:

disk.dataPartition.size=1024

.. затем вернулся к AVD Manager, выбрал MyVm, выбрал «Пуск», решил стереть пользовательские данные, выиграл диалоговое окно и смог запустить и установить.


Он работал в последний раз штраф , но сегодня я должен был написать disk.dataPartition.size=1024MB, так как 1024и 1024mне работал.
Суфиан

6

В диспетчере avd есть опция «идеальный размер системного раздела», попробуйте установить значение 1024 МБ или используйте опцию запуска из командной строки, которая делает то же самое.

К вашему сведению, я столкнулся с этой проблемой только с образом эмулятора 4.0.


Тоже самое. Когда вы это сделаете, обязательно перезапустите эмулятор из чистого состояния, а НЕ из снимка.
Манфред Мозер

6

Просто запустите эмулятор из командной строки следующим образом:

emulator -avd <your avd name> -partition-size 1024 -wipe-data


3
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.junkfoodian"
android:installLocation="preferExternal"   // this line can work for  Installation error:            //                                             // INSTALL_FAILED_INSUFFICIENT_STORAGE

Не уверен, почему за это проголосовали - у меня получилось, так что проголосуйте. :)
Роберт

3

Чтобы изменить размер хранилища эмулятора Android в Linux:

1) установить qemu

2) Найдите каталог, содержащий файлы img виртуальной машины. Что-то вроде ~ / .android / avd / .avd и CD к нему.

3) Изменение размера изображений ext4: т.е. для увеличения от 500Mb до 4Gb выполните

qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB

4) вырастить файловую систему:

e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img

5) Для образа SD-карты необязательно: спасите данные:

mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1

6) изменить размер изображения от 100 Мб до Гб:

qemu-img resize sdcard.img +3.9GB

7) заново сгенерируйте файловую систему:

mkfs.vfat sdcard.img

8) необязательно: восстановить старые данные:

mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1 

2

Я новичок, но у меня возникла эта проблема, когда я играл с «Hello Grid View». Я пытался использовать свои собственные фотографии, которые были очень большими по размеру файла.

Быстрое решение состояло в том, чтобы уменьшить количество фотографий, тем самым уменьшив размер файла APK.

Но я думаю, что мой следующий вопрос для всех, кто посещает эту ветку: «Как мне прикрепить большие файлы, такие как JPG и MP3, к приложению и убедиться, что они сохраняются на SD-карте, чтобы APK оставался маленьким?


2
Я думаю, что нашел ответ здесь: developer.android.com/guide/topics/resources/index.html Попробуйте использовать «ресурсы» вместо «ресурсы» для любых крупных элементов. Со страницы: Ресурсы являются неотъемлемой частью приложения для Android. Как правило, это внешние элементы, которые вы хотите включить и ссылаться в своем приложении, такие как изображения, аудио, видео, текстовые строки, макеты, темы и т. Д. Каждое приложение Android содержит каталог для ресурсов (res /) и каталог для активы (активы /).

2

вам нужно увеличить виртуальную память эмулятора

Как увеличить виртуальную память эмулятора

эмулятор -avd "Emulator Name" -partition-size 2024

после чего попробуйте установить свой апк


2

Обновите настройки в AVD Manager и запустите устройство, включив «Очистить данные пользователя». Это сработало для меня.


1
В новом интерфейсе AVD щелкните правой кнопкой мыши строку эмулятора, затем выберите стирание пользовательских данных после изменения внутреннего хранилища.
Tiago Zortéa De Conto

1

Я полагаю, вам следует перезапустить эмулятор с помощью «emulator -wipe-data -avd YourAvdName» или проверить «Wipe User Data» в конфигурации запуска, если вы используете Eclipse.

Я сталкиваюсь с той же проблемой прямо сейчас.


0

Единственный раз, когда я видел это, это было, когда файловая система хоста была в основном вне пространства. Есть ли у вас много свободного места в файловой системе, где хранится файловая система виртуальной машины?


У меня достаточно места на жестких дисках 13 ГБ.
Pentium10

0

Это определенно не правильный ответ, но это небольшой намек.

Если вы хотите использовать статические файлы в вашем приложении. Вы должны поместить их как ресурсы или как активы. Но если у вас есть проблемы с памятью, например, из-за того, что ваш APK невелик, вам нужно изменить дизайн своего приложения таким образом, чтобы

вместо того, чтобы помещать их в качестве ресурсов, во время работы вашего приложения (после установки) вы можете взять файлы (заведомо разные файлы, поскольку пользователь может не сохранить нужные файлы) с SD-карты. Для этого U может использовать ContentResolver, чтобы взять аудио, файлы изображений на выбор пользователя.

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


0

Вы можете запустить его, выбрав один элемент из левого дерева «виртуальное устройство» в диалоговом окне диспетчера AVD на платформе Eclipse, в стартовом интерфейсе есть опция «Wipe User Data»


0

Следующий подход работал для меня

  1. Перейдите к папке Android SDK / tools в окне терминала (если вы не добавили путь к ней)

  2. Убедитесь, что виртуальное устройство, которое вы планируете очистить, выключено.

  3. Запустите команду «./emulator -wipe-data -avd YourAvdName», где YourAvdName - имя вашего виртуального устройства Android


-2

Попробуйте выбрать проект -> очистить. Простая чистка может исправить это.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.