Wie kann ich den Speicher für Android Emulator erhöhen? (INSTALLATION FEHLGESCHLAGEN, MANGELNDER SPEICHER)

152

Ich bekomme das manchmal (nicht oft) für eines meiner Projekte, nur für ein paar Klassen
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

Wie erhöhe ich den Speicher des Emulators?

Pentium10
quelle
2
Ich sehe diesen Fehler ziemlich oft, selbst wenn das Gerät, auf dem installiert wird, über ausreichend Speicherplatz verfügt. Denken Sie daran, dass manchmal, wenn Sie den Fehler sehen, das, was in der Fehlermeldung steht, nicht wirklich wahr ist.
Lance Nanek
1
@ Pentinum10 Ich erhalte den gleichen Fehler sowohl auf 1.5 als auch auf 2.2. Überprüfen Sie diese Frage, wo Ihre Hilfe benötigt wird: stackoverflow.com/questions/3584297/… , bitte helfen Sie mir und fangen Sie mich aus
Paresh Mayani

Antworten:

127

Aktualisieren

Diese Antwort ist, während ich dies schreibe, fast acht Jahre alt und ungefähr fünf Jahre alt. Aber es ist immer noch (während ich dies schreibe) die "akzeptierte" Antwort, weil sie die Frage beantwortete, als sie gestellt wurde.

Die neuere Antwort, die für die neueren Android Studio-Tools gilt, finden Sie hier: https://stackoverflow.com/a/35828035/62 - eine großartige Antwort mit Screenshots. Wenn Sie Android Studio verwenden, ignorieren Sie die unten stehende Eclipse-Antwort.

Ursprüngliche Eclipse-basierte Antwort

Ich suchte nach der Antwort auf diese Frage und war mit den obigen Antworten nicht zufrieden. Aber dann habe ich die Antwort gefunden , und hier ist sie als zukünftige Referenz:

Um zusammenzufassen (und zu verdeutlichen), gehen Sie in Eclipse zu "Debug Configurations". Sie finden dies in der Dropdown-Liste unter dem Symbol "Debuggen". Wählen Sie "Ziel" und ein bevorzugtes Emulatorziel zum Starten. Fügen Sie dann unter "Zusätzliche Emulator-Befehlszeilenoptionen" Folgendes hinzu:

-Partitionsgröße 1024

Schließen Sie dann den Emulator (und entfernen Sie alle Geräte) und klicken Sie auf das Debug-Symbol, um den von Ihnen ausgewählten bevorzugten Emulator zu starten. Dies ist wichtig: Eclipse muss den Debugger starten, nicht AVD.

Das hat das Problem für mich behoben.

SomeCallMeTim
quelle
8
Beachten Sie, dass die "Partitionsgröße" in Megabyte angegeben ist und dass Sie zum Installieren eines APK im Allgemeinen mindestens doppelt so viel Speicherplatz benötigen wie das APK.
Christopher Orr
5
Noch ein Hinweis: Sie müssen mit der rechten Maustaste auf das Projekt klicken, das Sie in Eclipse ausführen möchten -> Ausführen-> Konfiguration ausführen-> Projekt auswählen-> Ziel -> nach unten scrollen-> Partitionsgröße 1024 zu zusätzlichen Em-Optionen hinzufügen-> hinzufügen Führen Sie dann das Projekt von Eclipse aus
SpoiledTechie.com
4
Google sollte dies als expliziten Eigenschaftsparameter für Android 3.2 oder 4.0 hinzufügen.
Repariere
schöner Fund ... sollte in der Tat durch das ADT-Werkzeug freigelegt werden. Der ICS-Emulator hat standardmäßig nur 60 MB! Es ist unmöglich, APKs sofort auf dem Ding zu installieren.
Ddewaele
1
Wenn Sie sich diese akzeptierte Antwort Jahre später wie ich ansehen, möchten Sie wahrscheinlich stattdessen auf stackoverflow.com/a/35828035/62 schauen .
Liron Yahdav
90

Auf Android Studio

Öffnen Sie den AVD Manager.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Symbol bearbeiten, um die AVD zu bearbeiten.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Erweiterte Einstellungen anzeigen.

Geben Sie hier die Bildbeschreibung ein

Ändern Sie den internen Speicher, den RAM und die SD-Kartengröße nach Bedarf. Klicken Sie auf Fertig stellen.

Geben Sie hier die Bildbeschreibung ein

Bestätigen Sie das Popup, indem Sie auf Ja klicken.

Geben Sie hier die Bildbeschreibung ein

Löschen Sie die Daten auf der AVD und bestätigen Sie das Popup, indem Sie auf Ja klicken.

Geben Sie hier die Bildbeschreibung ein

Wichtig: Wenn Sie nach dem Vergrößern nicht automatisch aufgefordert werden, Daten zu löschen, müssen Sie dies manuell tun, indem Sie das Pulldown-Menü des AVD öffnen und Daten löschen auswählen.

Geben Sie hier die Bildbeschreibung ein

Starten Sie jetzt Ihren Emulator und verwenden Sie ihn mit erhöhtem Speicherplatz.

Cijo
quelle
7
Das Ändern von "Interner Speicher" hat vor oder nach dem Erstellen der AVD nichts für mich. Es werden immer 300 MB und eine Warnung zu wenig Speicherplatz angezeigt.
Travis Christian
3
Haben Sie die Daten aus dem Dropdown-Menü im AVD-Manager gelöscht, nachdem Sie die Größe geändert haben?
Cijo
1
Ich habe die AVD bereits gelöscht, aber es geschah auch mit neu konfigurierten nicht gestarteten Images. Ich habe in einer anderen Frage festgestellt, dass es sich um ein Problem mit bestimmten APIs <23 handelt.
Travis Christian
OMG - danke dafür! Es ist die einzige Lösung, die funktioniert hat!
SammyK
2
Dies sollte die akzeptierte Antwort sein und die erste, die angezeigt wird (keine älteren Eclipse-bezogenen Antworten). Es reicht nicht aus, die Größe zu ändern und den Emulator zu starten (selbst wenn Sie Cold Boot Now verwenden ). Der Schlüssel scheint der Befehl Daten löschen zu sein. Vielen Dank!
Alex Vang
42

Fügen Sie der avd config.ini Folgendes hinzu

disk.dataPartition.size=1024MB

Lassen Sie mich wissen, ob dies auch für Sie funktioniert.

Ich fügte in der Zeile hinzu Konfiguration der Datenpartitionsgröße hinzufügen
Screenshot des AVD-Speicherplatzes wird vergrößert

Johndacostaa
quelle
Hat bei einem 2.3-Bild nicht funktioniert. Ich sehe immer noch nur 128 MB internen Speicher für Apps.
Matthias
1
Ich habe festgestellt, dass in der Benutzeroberfläche "Bearbeiten" von AVD Manager der Versuch, diesen Wert manuell festzulegen, immer auf 0 zurückgesetzt wird. Möglicherweise ein verwandtes Problem? Vielleicht sollte es nicht auf einigen Versionen von Android eingestellt sein?
Matthias
2
Sie müssen einen Wert wie 1024MBbei Verwendung des AVD-Managers eingeben . Sie können nicht einfach eintreten. Es 1024hat eine Weile gedauert, um das herauszufinden, und ich habe bestätigt, dass dies funktioniert
Ronnie
19

Führen Sie AVD Manager aus

Wählen Sie Ihre AVD aus und klicken Sie auf "Details ...".

In meinem Fall legt AVD Manager die Festplattengröße auf fest

disk.dataPartition.size=4000M

Dieser ungültige Wert Festplatte beträgt trotz der angegebenen Nummern ca. 500 MB.

Gehen Sie unter "AVD-Details" über den Pfad zum AVR-Ordner.

Bearbeiten Sie es in config.ini auf

disk.dataPartition.size=4000MB

und entfernen Sie alle IMG-Dateien.

Proggear
quelle
2
Dies sollte die ausgewählte Antwort sein. In aktuellen Versionen von Android Studio (3.0.1) sind die Eigenschaften der Bearbeitungseinstellungen ausgegraut, wenn Sie eine Google Play-fähige AVD ausführen. Das hat funktioniert. Ich habe mein Testgerät von 400 MB auf 2000 MB geändert und alle * .img- und * .qcow2-Dateien gelöscht. Daten auf der AVD gelöscht. Dann wurde es hochgefahren und es hatte 2000 MB Speicherplatz.
MLindsay
@ MLindsay Ich stimme zu
mwa91
Nur zu Ihrer Information, ich musste * .img oder eine andere Datei nicht löschen. Es hat gereicht, nur den Wert in config.ini zu ändern.
Mohib Sheth
Vielen Dank! Arbeitete für meinen Fall.
android_dev
10

Ich habe eine apk installiert:

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

Und ich bekam eine Fehlermeldung, die mir das mitteilte

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

war zu groß. Mit den SDK-Tools von r15 und ADT 15 konnte ich mit dem AVD-Manager einige Einstellungen meines vorhandenen Emulators bearbeiten:

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

Gehen Sie dann zum Fenster mit den Hardwareeigenschaften direkt unter "Skin:". Ich konnte mit der Schaltfläche Hardware: Neu die Option "Ideale Partitionsgröße" auswählen. Ich konnte den Wert jedoch nicht auf '0' setzen. Unerschrocken ging ich zu meinem Verzeichnis $ {HOME} /. Android / avd. Es gab ein Verzeichnis 'MyVm.avd'. Als ich in dieses Verzeichnis ging, fand ich eine 'config.ini'-Datei. Da war der Eintrag:

disk.dataPartition.size=0

Ich setze dies auf:

disk.dataPartition.size=1024

.. kehrte dann zum AVD-Manager zurück, wählte MyVm aus, wählte 'Start', entschied sich für das Löschen von Benutzerdaten, gewann den folgenden Dialog und konnte ausgeführt und installiert werden.

Billiam
quelle
Es hat beim letzten Mal gut funktioniert, aber heute musste ich schreiben disk.dataPartition.size=1024MB, da 1024und 1024mnicht.
Sufian
6

avd manager hat die Option "Ideale Größe der Systempartition". Versuchen Sie, diese auf 1024 MB einzustellen, oder verwenden Sie die Startoption für die Befehlszeile, die dasselbe tut.

Zu Ihrer Information, ich habe dieses Problem nur mit dem 4.0-Emulator-Image festgestellt.

Lassi Kinnunen
quelle
Hier gilt das gleiche. Wenn Sie dies tun, stellen Sie sicher, dass Sie den Emulator aus einem sauberen Zustand und NICHT aus einem Snapshot neu starten.
Manfred Moser
6

Starten Sie den Emulator einfach über die Befehlszeile wie folgt:

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

Dieses Problem kommt mit Android 1.5 .. versuchen Sie 2.0 oder 2.1 oder 2.2

Vishal Khakhkhar
quelle
Ich bekomme dies mit 2.2 auf meinem N1
Erik B
2
Ich komme
Paresh Mayani
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
Ankit Kumar
quelle
Ich bin mir nicht sicher, warum dies abgelehnt wurde - hat für mich funktioniert, also stimmen Sie ab. :)
Robert
3

So ändern Sie die Größe des Speichers des Android-Emulators unter Linux:

1) installiere qemu

2) Suchen Sie das Verzeichnis mit den IMG-Dateien der virtuellen Maschine. So etwas wie ~ / .android / avd / .avd und cd dazu.

3) Ändern Sie die Größe der ext4-Images: dh für das Wachstum von 500 MB auf 4 GB ausführen

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

4) Erweitern Sie das Dateisystem:

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

5) Für das SD-Kartenbild optional: Daten retten:

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

6) Ändern Sie die Größe des Bildes von 100 MB auf GB:

qemu-img resize sdcard.img +3.9GB

7) Generieren Sie das Dateisystem neu:

mkfs.vfat sdcard.img

8) optional: alte Daten wiederherstellen:

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

Ich bin ein Anfänger, aber ich hatte dieses Problem beim Herumspielen mit der "Hello Grid View". Ich habe versucht, meine eigenen Fotos zu verwenden, die alle sehr groß waren.

Die schnelle Lösung bestand darin, die Anzahl der Fotos und damit die Größe der APK-Datei zu verringern.

Aber ich denke, meine Folgefrage für alle anderen, die diesen Thread treffen, lautet: Wie hänge ich große Dateien wie JPGs und MP3s an eine App an und stelle sicher, dass sie auf der SD-Karte gespeichert werden, damit die APK klein bleibt?


quelle
2
Ich glaube, ich habe die Antwort hier gefunden: developer.android.com/guide/topics/resources/index.html Versuchen Sie, "Assets" anstelle von "Resources" für große Elemente zu verwenden. Von der Seite: Ressourcen sind ein wesentlicher Bestandteil einer Android-Anwendung. Im Allgemeinen sind dies externe Elemente, die Sie in Ihre Anwendung aufnehmen und auf diese verweisen möchten, z. B. Bilder, Audio, Video, Textzeichenfolgen, Layouts, Themen usw. Jede Android-Anwendung enthält ein Verzeichnis für Ressourcen (res /) und ein Verzeichnis für Vermögenswerte (Vermögenswerte /).
2

Sie müssen den virtuellen Speicher des Emulators erhöhen

So erhöhen Sie den virtuellen Speicher des Emulators

Emulator -avd "Emulator Name" -Partitionsgröße 2024

danach versuche deine apk zu installieren

Nirav Ranpara
quelle
2

Aktualisieren Sie Ihre Einstellungen im AVD Manager und starten Sie das Gerät, indem Sie "Benutzerdaten löschen" aktivieren. Das hat bei mir funktioniert.

vinu
quelle
1
Klicken Sie in der neuen AVD-Oberfläche mit der rechten Maustaste auf die Emulatorzeile und wählen Sie Benutzerdaten löschen, nachdem Sie den internen Speicher geändert haben.
Tiago Zortéa De Conto
1

Ich denke, Sie sollten den Emulator mit "emulator -wipe-data -avd YourAvdName" neu starten oder "Wipe User Data" in der Ausführungskonfiguration aktivieren, wenn Sie Eclipse verwenden.

Ich stehe gerade vor dem gleichen Problem.

Roman Shestakov
quelle
0

Das einzige Mal, dass ich dies gesehen habe, war, als das Host-Dateisystem im Grunde keinen Speicherplatz mehr hatte. Haben Sie viel freien Speicherplatz im Dateisystem, in dem das Dateisystem der VM gespeichert ist?

Jeremy Logan
quelle
Ich habe viel Speicherplatz auf meinen Festplatten 13 GB frei.
Pentium10
0

Es ist definitiv keine angemessene Antwort, aber es ist ein kleiner Hinweis.

Wenn Sie statische Dateien in Ihrer App verwenden möchten. Sie sollten sie als Ressourcen oder als Vermögenswerte einsetzen. Wenn Sie jedoch Speicherprobleme haben, die Ihre APK klein halten möchten, müssen Sie Ihr App-Design so ändern, dass:

Anstatt sie als Ressourcen zu verwenden, können Sie beim Ausführen Ihrer App (nach der Installation) die Dateien (andere Dateien, da der Benutzer möglicherweise nicht die gewünschten Dateien aufbewahrt) von der SD-Karte nehmen. Zu diesem Zweck kann U ContentResolver verwenden, um Audio- und Bilddateien bei Benutzerauswahl aufzunehmen.

Mit dieser Funktion können Sie dem Benutzer eine weitere Funktion geben, z. B. das Laden von Audio- / Bilddateien in die App nach eigener Wahl.

Andhravaala
quelle
0

Sie können das Element starten, wenn Sie ein Element aus dem linken Baum "Virtuelles Gerät" im Dialogfeld "AVD-Manager" auf der Plattform von Eclipse auswählen. Die Start-Benutzeroberfläche verfügt über die Option "Benutzerdaten löschen".

Jone
quelle
0

Der folgende Ansatz hat bei mir funktioniert

  1. Navigieren Sie im Terminalfenster zu Ihrem Android SDK / tools-Ordner (falls Sie den Pfad dafür nicht hinzugefügt haben).

  2. Stellen Sie sicher, dass das virtuelle Gerät, das Sie reinigen möchten, ausgeschaltet ist.

  3. Führen Sie den Befehl "./emulator -wipe-data -avd YourAvdName" aus, wobei YourAvdName der Name Ihres virtuellen Android-Geräts ist

Anton
quelle
-2

Wählen Sie Projekt -> Reinigen. Eine einfache Reinigung kann das Problem beheben.

Grippie
quelle