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

StackOverflow https://stackoverflow.com/questions/2239330

Вопрос

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

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

Это было полезно?

Решение

Обновлять

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

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

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

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

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

-размер раздела 1024

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

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

Другие советы

В Android-студии

Откройте AVD-менеджер.

enter image description here

Нажмите значок «Редактировать», чтобы отредактировать AVD.

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

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

disk.dataPartition.size=1024MB

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

Я добавил в строку Add Data Partition Size Configuration
Screen Shot of AVD Storage Space being increased

Запустите AVD-менеджер

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

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

disk.dataPartition.size=4000M

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

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

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

disk.dataPartition.size=4000MB

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

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

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

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

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

был слишком большим.Используя инструменты SDK от R15, и ADT 15 Я смог использовать Manager 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, выбрал «Start», решил уничтожить пользовательские данные выиграть диалог после следующего и смог запустить и установить.

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

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

эта проблема возникает с андроидом 1.5..попробуй 2.0 или 2.1 или 2.2

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

emulator -avd <your avd name> -partition-size 1024 -wipe-data
<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

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

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

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

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

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

эмулятор -avd «Имя эмулятора» -размер раздела 2024

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

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

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

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

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

3) Измените размер изображений ext4:то естьдля увеличения с 500Мб до 4Гб выполнить

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 

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

Я сейчас столкнулся с той же проблемой.

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top