Der Android-Emulator konnte keinen Speicher 8 zuweisen

157

Wenn ich versuche, meinen WXGA800-Emulator von Eclipse aus auszuführen, wird ein solcher Fehler ausgegeben

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.

Ich habe auch die folgenden Links überprüft

Speicher konnte nicht zugeordnet werden: 8

Android: Speicher konnte nicht zugeordnet werden

Ich habe versucht, die RAM-Größe im Emulator zu reduzieren und Java-Heapsize und Ramsize zu erhöhen, aber ich habe immer noch den gleichen Fehler.

Vishwanath.M
quelle
Versuchen Sie, die Auflösung manuell einzustellen, und verwenden Sie stattdessen die integrierte Skin.
SteveR
Bitte überprüfen Sie meine Antwort hier: stackoverflow.com/a/14420779/1993898
Prymaldark
Mögliches Duplikat von Fehler beim Zuweisen von Speicher: 8
Peter O.
Cool. Ich habe dieselbe Frage weniger eloquent formuliert und die Leute haben sie abgelehnt. Ich hoffe, hier gibt es irgendwo eine gute Antwort. Ich versuche, die Samsung Galaxys mit S-Pen-Unterstützung zu emulieren, und alle übertreffen auch die Fähigkeiten des Emulators.
Sinthia V

Antworten:

410

Update : Ab Android SDK Manager Version 21 besteht die Lösung darin, C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.iniden Wert zu bearbeiten und zu ändern

hw.ramSize=1024 

zu

hw.ramSize=1024MB

Android 4.2 API 17

Der Emulator ist sehr langsam, Ich hoffe, sie werden die Intel-Bilder bald veröffentlichenVerwenden Sie die neuen Intel x86-Images der API17, wenn Sie sie ändern möchten. ( HAXM , Konfiguration )


Frühere Versionen von Android SDK Manager:

Hatte das gleiche Problem mit dem eingebauten WXGA800-Skin. Ich habe es zum Laufen gebracht, indem ich das Setup des virtuellen Geräts wie folgt bearbeitet habe:

  • Ziel 4.0.3 API 15 / 4.1.0 API 16
  • SD-Karte 300MiB
  • Auflösung 1280 x 800 (manuell einstellen - nicht die eingebauten)
  • Geräte-RAM-Größe 1024 MB (mit MB zur Nummer hinzugefügt)
  • Abstrahiertes LCD 160

Hier meine Tablet-Konfiguration für 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\

Diese Konfiguration zeigt auch die Software-Schlüssel Screenshot Android 4.1 Emulator 1280x800 @ 160

Lin-Art
quelle
1
Ich fühle mich ein bisschen dumm, dass ich das vorher nicht versucht habe :)! Danke Mann, du hast mein Leben gerettet!
Caiocpricci2
2
+1 Ich habe diesen Rat befolgt und dann den Emulator über die Befehlszeile gestartet, damit dies funktioniert. Hoffe, Xavier wird uns bald vor dieser Flocke bewahren ...
OceanLife
9
Ich habe den Fehler behoben, indem ich die "Speicheroption: RAM" auf 512 reduziert und die SD-Kartengröße auf 300 MB eingestellt habe.
Jemand irgendwo
3
Ernsthaft, was für ein dummer Käfer ... / facepalm Zumindest kann ich jetzt Fortschritte machen! Danke dir!
Frau Wadge
2
Beeindruckend. das ist fürchterlich. Das offizielle SDK und das Testkit handhaben das nicht richtig? Sie müssen INI-Dateien von Hand bearbeiten, und das ist seit fast einem Jahr der Fall? das ist verrückt.
Matt Lohkamp
67

Diese folgende Lösung hat bei mir funktioniert. In der folgenden Konfigurationsdatei:

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

Ersetzen

hw.ramSize=1024

durch

hw.ramSize=1024MB
boing
quelle
1
Ich weiß nicht warum, aber das hat es behoben. Danke
schar
1
Guter Ort, das muss ein Fehler sein ... Ich habe die Dateikonvention befolgt und nur ein M verwendet, was auch funktioniert hat.
HGPB
17
Eigentlich ein bisschen erbärmlich von Google. Testen sie nicht?
Cory Trese
+1 Das funktioniert bei mir. Vielleicht liegt es daran, dass ich bei der Angabe der RAM-Größe 1 GB auswähle.
Eng.Fouad
4
In einer anderen Antwort behauptete jemand, dass "MB" nicht tatsächlich erkannt wird und ein Wechsel von 1024 auf 1024 MB den Speicher auf 256 MB reduziert, was Standard ist und daher funktioniert. Quelle: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki
9

In meinem Fall bestand die Lösung darin, nicht nur, config.inisondern auch hardware.inifür die spezifische Haut von hw.ramSize=1024bis zu wechseln hw.ramSize=1024MB.

So finden Sie die hardware.iniDatei:

  1. Öffnen Sie die config.iniund suchen Sie skin.path.
  2. Navigieren Sie dann zu dem Ordner, in dem sich das Android SDK befindet.
  3. Öffnen Sie den Pfad wie folgt : android-sdk\platforms\android-15\skins\WXGA720.
  4. In diesem Ordner finden Sie die hardware.ini.
  5. Wechseln Sie hw.ramSize=1024zu hw.ramSize=1024MB.
Marlos
quelle
2
arbeitete für mich. Ich weiß nicht, warum Leute Ihre Antwort nicht mögen. Vielen Dank!
Veaceslav Gaidarji
5

Update: Ab Android SDK Manager Version 21 besteht die Lösung darin, C: \ Users \ .android \ avd \ .avd \ config.ini zu bearbeiten und den Wert zu ändern

hw.ramSize = 1024 bis

hw.ramSize = 1024 MB

ODER

hw.ramSize = 512 MB

Alexander Zaldostanov
quelle
3

Dieser Fehler wird ausgelöst, wenn Sie den AVD-RAM auf einen Wert einstellen, der größer ist als der größte Block kontinuierlichen Speichers, den der Emulator zuordnen kann. Schließen Sie alles RAM schwere, starten Sie Ihren Emulator, starten Sie alles andere, was Sie brauchen. In einer früheren Antwort habe ich dies auf x86-Images mit IntelHAXM beschränkt, aber dies ist tatsächlich für alle Arten von Emulatorinstanzen der Fall.

ptashek
quelle
3

Im AVD-Setup: Ändern Sie die Option CPU / ABI in MIPS. Es hat bei mir funktioniert

back2back
quelle
1

Ich hatte das gleiche Problem und das Problem war letztendlich die RAM-Größe: Anscheinend unterscheidet sich 1024 (oder welche Größe auch immer) von 1024 MB. Stellen Sie sicher, dass Sie die Einheiten angeben und es für Sie funktionieren sollte.

Paul
quelle
1

Das Ändern der ramSize in der Datei config.ini hat bei mir nicht funktioniert.

Ich habe die SD-Kartengröße im Fenster "Virtuelles Android-Gerät bearbeiten" auf 1000 MiB geändert ... Es hat funktioniert! :) :)

Namrata
quelle
Sind Sie sicher, dass sich Ihre Antwort auf das Problem bezieht? Denn das Problem scheint sich auf den Arbeitsspeicher zu beziehen, der sich nicht ändern wird, wenn man die Größe der SD-Karte ändert.
Klassenstapler
0

Gehen Sie zum Bearbeiten der virtuellen Android-Geräte und ändern Sie den Wert 1024 unter Speicheroptionen auf 768. Wenn dies immer noch nicht funktioniert, gehen Sie immer tiefer und tiefer.

FranzPhillips
quelle
0

Das Reduzieren der RAM-Größe in den AVD-Einstellungen hat bei mir funktioniert. Die langsame AVD kann viel RAM verbrauchen, daher ist es möglich, sie auf ein Minimum zu beschränken.

Sylar
quelle
0

Entfernen Sie für Haut No Skin und fügen Sie etwas Haut hinzu

Geben Sie hier die Bildbeschreibung ein

Jimit Patel
quelle
0

Versuchen Sie dies, wenn andere Antworten für Sie nicht funktionierten.

Für mich geschah dies für API 27 Emulator.

API 26 Emulator hat einwandfrei funktioniert. Also habe ich zuerst API 26 Emulator gestartet und dann geschlossen.

Dann habe ich API 27 Emulator gestartet und es hat ohne Fehler funktioniert.

Akshar Patel
quelle