Эмулятору Android не удалось выделить память 8

157

Когда я пытаюсь запустить мой эмулятор WXGA800 из Eclipse, он выдает такую ​​ошибку

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Я проверил следующие ссылки также

Не удалось выделить память: 8

Android: не удалось выделить память

Я попытался уменьшить размер оперативной памяти в эмуляторе и увеличить размер кучи Java и ramsize, но я все еще сталкиваюсь с той же ошибкой.

Vishwanath.M
источник
попробуйте установить разрешение вручную, вместо этого используйте встроенный скин.
SteveR
Пожалуйста, проверьте мой ответ здесь: stackoverflow.com/a/14420779/1993898
Prymaldark
Возможный дубликат Не удалось выделить память: 8
Питер О.
Прохладно. Я сформулировал этот же вопрос менее красноречиво и заставил людей проголосовать за него. Я надеюсь, что здесь есть отличный ответ. Я пытаюсь эмулировать Samsung Galaxys с поддержкой S-Pen, и все они также превосходят возможности эмулятора.
Синтия V
stackoverflow.com/questions/11667907/…
Фрэнк Мятт Чт

Ответы:

410

Обновление : Начиная с версии Android SDK Manager 21, решение состоит в том, чтобы отредактировать C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.iniи изменить значение

hw.ramSize=1024 

в

hw.ramSize=1024MB

Android 4.2 API 17

Эмулятор очень медленный, надеюсь, что они скоро выпустят образы Intelиспользуйте новые образы API17 Intel x86, если вы хотите изменить его .. ( HAXM , конфигурация )


Предыдущие выпуски Android SDK Manager:

Была такая же проблема со встроенным скином WXGA800. Я получил его, изменив настройки виртуального устройства:

  • Target 4.0.3 API 15 / 4.1.0 API 16
  • SD-карта 300MiB
  • Разрешение 1280 x 800 (устанавливается вручную, а не встроенными)
  • Объем оперативной памяти устройства 1024 МБ (с добавлением МБ к номеру)
  • Абстрактный ЖК 160

Вот мой конфиг планшета для 4.1.0 API 16 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

Этот конфиг показывает программные ключи тоже Скриншот эмулятора Android 4.1 1280x800 @ 160

Лин-Арт
источник
1
Я чувствую себя немного глупо, что не пытался сделать это раньше :) Спасибо, парень, ты спас мне жизнь!
caiocpricci2
2
+1 Я воспользовался этим советом, а затем запустил эмулятор из командной строки, чтобы заставить его работать. Надеюсь, Ксавье скоро спасет нас от этой ненадежности ...
OceanLife
9
Я исправил ошибку, уменьшив параметр «Memory Option: RAM» до 512 и установив SDcard Size на 300MiB.
Кто-то где-то
3
Серьезно, какая глупая ошибка ... / facepalm По крайней мере, я могу прогрессировать сейчас! Спасибо!
Mrswadge
2
Вот это да. это ужасно. официальный SDK и набор для тестирования не справляются? Вы должны редактировать файлы .ini вручную, и это имело место почти год? это безумие
Мэтт Лохкамп
67

Это следующее решение сработало для меня. В следующем файле конфигурации:

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

замещать

hw.ramSize=1024

по

hw.ramSize=1024MB
Boing
источник
1
Не уверен, почему, но это исправило это. Спасибо
schar
1
Хорошее место, это должно быть ошибка ... Я следовал соглашению о файлах и просто использовал M, который тоже работал.
HGPB
17
Какая жалость со стороны Google, правда. Они не тестируют?
Кори Трез
+1 Это работает для меня. Возможно, это потому, что когда я указал размер оперативной памяти, я выбрал 1 ГБ.
Eng.Fouad
4
В другом ответе кто-то утверждал, что «МБ» фактически не распознается, и изменение с 1024 на 1024 МБ фактически уменьшает объем памяти до 256 МБ, что по умолчанию, и поэтому он начинает работать. Источник: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Юха Паломяки,
9

В моем случае решение было изменить не только, config.iniно и hardware.iniдля конкретной кожи от hw.ramSize=1024до hw.ramSize=1024MB.

Чтобы найти hardware.iniфайл:

  1. Откройте config.iniи найдите skin.path.
  2. Затем перейдите в папку, где находится Android SDK.
  3. Откройте путь, как это: android-sdk\platforms\android-15\skins\WXGA720.
  4. Внутри этой папки вы найдете hardware.ini.
  5. Изменить hw.ramSize=1024на hw.ramSize=1024MB.
Marlos
источник
2
работал на меня. Я не знаю, почему людям не нравится твой ответ. Спасибо!
Вячеслав Гайдаржи
5

Обновление: Начиная с Android SDK Manager версии 21, решение состоит в том, чтобы отредактировать C: \ Users \ .android \ avd \ .avd \ config.ini и изменить значение

hw.ramSize = 1024 до

hw.ramSize = 1024MB

ИЛИ

hw.ramSize = 512

Александр Залдостанов
источник
3

Эта ошибка возникает, если вы установили в ОЗУ AVD значение, которое больше, чем самый большой блок непрерывной памяти, который эмулятор может выделить. Закройте все ОЗУ тяжелым, запустите эмулятор, запустите все остальное, что вам нужно. В предыдущем ответе я ограничил это изображениями x86 с IntelHAXM, но на самом деле это относится ко всем типам экземпляров эмулятора.

ptashek
источник
3

В настройке AVD: измените опцию CPU / ABI на MIPS. У меня сработало

back2back
источник
1

У меня была та же проблема, и в конечном итоге проблема заключалась в размере оперативной памяти: очевидно, 1024 (или любой другой размер) отличается от 1024 МБ. Убедитесь, что вы указали единицы измерения, и они должны работать на вас.

Павел
источник
1

Изменение ramSize в файле config.ini у меня не сработало.

Я изменил размер SD-карты до 1000 МБ в окне «Редактировать виртуальное устройство Android» ... Это сработало! :)

Namrata
источник
Вы уверены, что ваш ответ относится к проблеме? Потому что проблема связана с оперативной памятью, которая не изменится, если изменить размер SD-карты.
Укладчик классов
0

Перейдите к редактированию виртуальных устройств Android и измените 1024 Under Memory Options на 768. Если это все еще не работает, продолжайте идти все ниже и ниже.

FranzPhillips
источник
0

Уменьшение размера ОЗУ в настройках AVD у меня сработало. Медленное AVD может поглотить много оперативной памяти, поэтому удержание его на минимальном уровне возможно.

Sylar
источник
0

Для кожи удалите No Skin и добавьте немного кожи

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

Джимит Патель
источник
0

Попробуйте, если другие ответы не сработали для вас.

Для меня это произошло для API 27 Emulator.

API 26 Emulator работал просто отлично. Поэтому я запустил эмулятор API 26, а затем закрыл его.

Затем я запустил API 27 Emulator, и он работал без ошибок.

Акшар Патель
источник