Wie Speicher für Android Emulator zu erhöhen? (INSTALLATION FEHLGESCHLAGEN, MANGELNDER SPEICHER)
-
19-09-2019 - |
Frage
Ich bekomme dies manchmal (nicht oft) für eines meiner Projekte, ein paar Klassen nur
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
Wie erhöhe ich Emulators Speicher?
Lösung
Update
Diese Antwort ist, wie ich dies schreibe, fast acht Jahre alt, und etwa fünf Jahren veraltet. Aber es ist immer noch (wie ich dies schreibe), um die „akzeptiert“ Antwort, weil es die Frage beantwortet , wenn er gefragt wurde.
Die aktuelle Antwort, die auf die neueren Android Studio Tools gilt, finden Sie hier: https://stackoverflow.com/a / 35828035/62 - es ist eine großartige Antwort mit Screenshots. Wenn Sie Android Studio verwenden, ignorieren Sie die Eclipse-Antwort unten.
Original Eclipse-basierte Antwort
Ich war auf diese Frage nach der Antwort suchen, und wurde mit den oben genannten Antworten unzufrieden. Aber dann fand ich die beantworten , so ist es hier für die Zukunft:
Um zusammenzufassen (und klären), in Eclipse, gehen Sie zu "Debug-Konfigurationen". Sie können, dass in der Dropdown-unter dem „debug“ Symbol finden. Wählen Sie „Ziel“, und wählen Sie ein bevorzugtes Emulator Ziel zu starten. Dann unter „zusätzlichen Emulator Befehlszeilenoptionen“, fügen Sie diese:
-Partition-size 1024
Schließen Sie dann den Emulator (und entfernen Sie alle Geräte), und klicken Sie auf das Debug-Symbol, das die bevorzugte Emulator starten werden Sie ausgewählt. Das ist wichtig: Eclipse-braucht den Debugger zu starten, nicht AVD.
Das ist das Problem für mich festgelegt.
Andere Tipps
Auf Android-Studio
Öffnen Sie den AVD-Manager.
eingebenKlicken Sie auf Bearbeiten Icon zu bearbeiten, die AVD.
eingebenKlicken Sie auf Erweiterte Einstellungen anzeigen.
eingebenÄndern der interne Speicher, RAM, SD Kartenformat wie nötig. Klicken Sie auf Fertig stellen.
eingebenBestätigen Sie das Popup mit Ja klicken.
eingebenWischen Sie Daten auf dem AVD und das Popup bestätigt ja klicken.
eingeben. Wichtig: Nach der Größe zu erhöhen, wenn es nicht automatisch Sie fragt Daten wischen, Sie müssen es tun manuell durch die Pull-Down-AVD Öffnen-Menü und wählen Sie Datenlöschung
eingebenJetzt starten und Emulator mit erhöhter Speicher verwenden.
Fügen Sie die folgende auf die AVD config.ini
disk.dataPartition.size=1024MB
Lassen Sie mich wissen, ob dies auch für Sie arbeitet.
ich in der Zeile hinzugefügt
Ausführen AVD-Manager
Wählen Sie ein AVD und klicken Sie auf "Details ..." klicken.
In meinem Fall AVD-Manager setzt Plattengröße als
disk.dataPartition.size=4000M
Das ungültiger Wert , Platte ist ca. 500 MB trotz Zahlen angegeben.
Zum AVR Ordner Pfad in "AVD Details".
Bearbeiten es in config.ini zu
disk.dataPartition.size=4000MB
und alle .img-Dateien entfernen.
ich mache eine Installation eines apk:
adb install /home/me/jones_android-arm.apk
Und ich war eine Fehlermeldung bekommen, dass mir
zu sagen/data/local/tmp/jones_android-arm.apk
war zu groß. Mit dem SDK-Tools von r15 und ADT 15 konnte ich die AVD-Manager verwenden zu manipulieren einige meiner bestehenden Emulator Einstellungen:
Window-> AVD Manager -> (select you virtual machine) -> Edit
geht dann auf die Hardware-Eigenschaften-Fenster direkt unter „Skin:“ Ich war in der Lage zu wählen mit der Hardware: Neue Schaltfläche "Ideale Größe von Partition. Ich war nicht jedoch in der Lage zu Setzen Sie den Wert anders als auf ‚0‘. Unerschrocken ging ich zu meinem $ {HOME} /. Android / AVD-Verzeichnis Es war ein ‚MyVm.avd‘ Verzeichnis. Sie gingen in das Verzeichnis fand ich eine ‚config.ini‘ Datei. Es war der Eintrag:
disk.dataPartition.size=0
Ich habe diese an:
disk.dataPartition.size=1024
.. dann zurück zum AVD-Manager ging, ausgewählt myvm, ausgewählt 'Start', dafür entschieden, wischen Benutzerdaten gewinnen, um den Dialog zu folgen und waren in der Lage zu laufen und installieren.
AVD Manager eine Option „ideale Größe der Systempartition“ hat, versuchen, das zu 1024MB Einstellung, oder die Kommandozeile Startoption verwenden, die das gleiche tut.
FYI, ich habe nur dieses Problem mit dem Bild 4.0-Emulator auftreten.
Dieses Problem kommt mit Android 1.5 .. versuchen, 2.0 oder 2.1 oder 2.2
Starten Sie einfach Emulator über die Befehlszeile wie folgt:
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
Ich bin ein Anfänger, aber ich hatte das Problem, während mit dem „Hallo Grid View“ herumspielen. Ich habe versucht, meine eigenen Fotos zu verwenden, die alle groß waren sehr in Dateigröße.
Die schnelle Lösung war die Anzahl der Fotos zu reduzieren, wodurch die Größe der APK-Datei zu reduzieren.
Aber ich denke, meine Follow-up-Frage für alle anderen, die diesen Thread trifft, ist dies: Wie befestige ich große Dateien wie JPG-Dateien und MP3-Dateien auf eine App und stellen Sie sicher, sie speichern auf der SD-Karte, so dass die APK klein bleibt / p>
Sie müssen den virtuellen Speicher des Emulators erhöhen
Wie virtuelle Speicher des Emulators erhöhen
Emulator -avd "Emulator Name" -Partition-size 2024
versuchen, nach dann apk
zu installierenAktualisieren Sie Ihre Einstellungen in AVD-Manager und starten Sie das Gerät durch Aktivieren ‚Benutzerdaten Wipe‘. Das funktioniert für mich.
Um die Speicherung des Android-Emulator in Linux Größe ändern:
1) installieren qemu
2) Suchen Sie das Verzeichnis der img-Dateien der virtuellen Maschine enthält. So etwas wie ~ / .android / AVD / .avd und cd zu.
3) Ändern Sie die Größe der ext4 Bilder: das heißt für von 500Mb zu 4Gb wachsenden ausführen
qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB
4) wachsen, das Dateisystem:
e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img
5) Für die SD-Karte Bild, optional: Rettung der Daten:
mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1
6) die Größe des Bildes von 100 MB bis Gb:
qemu-img resize sdcard.img +3.9GB
7) wieder erzeugen, um das Dateisystem:
mkfs.vfat sdcard.img
8) optional: Wiederherstellung der alten Daten:
mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1
Ich denke, man sollte den Emulator mit „Emulator -wipe-Daten -avd YourAvdName“ neu starten oder auf „Wipe Benutzerdaten“ in Lauf-Konfiguration, wenn Verwendung von Eclipse.
Ich bin mit dem gleichen Problem konfrontiert jetzt.
Das einzige Mal, dass ich gesehen habe dies geschehen war, wenn der Host-Dateisystem im Grunde aus dem Raum war. Haben Sie viel freien Speicherplatz auf dem Dateisystem, wo das Dateisystem des VM gespeichert ist?
Es ist defenetly keine angemessene Antwort, aber es ist ein kleiner Hinweis.
Wenn Sie die Verwendung von statischen Dateien in Ihrem App machen wollen. Sie sollten sie als Ressourcen oder als Vermögenswerte setzen. Aber, wenn U Speicher Bedenken haben für Ihre APK klein zu halten, dann müssen Sie Ihre App ändern Design so, dass
anstatt sie als Ressourcen setzen, während der App läuft (nach der Installation) Sie die Dateien in Anspruch nehmen (defenately verschiedene Dateien als Benutzer können Dateien nicht halten, was Sie brauchen) von SD-Karte. Hierfür können U ContentResolver verwenden Audio-, Bilddateien auf Benutzerauswahl zu übernehmen.
Mit diesem können Sie dem Benutzer ein weiteres Feature geben, wie er Audio- / Bilddateien in der App auf seine eigene Wahl laden können.
können Sie denjenigen starten, wenn ein Eintrag aus dem linken Baum „virtuelles Gerät“ in AVD Manager-Dialog auf der Plattform von Eclipse wählen, wird die Start-Benutzeroberfläche die Option „Wipe Benutzerdaten“
Der folgende Ansatz für mich gearbeitet
-
Gehen Sie zu Ihrem Android-SDK / Tools-Ordner in das Terminal-Fenster (falls Sie haben den Weg für sie nicht hinzugefügt)
-
Stellen Sie sicher, dass das virtuelle Gerät Sie planen, zu reinigen ist ausgeschaltet.
-
Führen Sie den Befehl "./emulator -wipe-Daten -avd YourAvdName", wo YourAvdName ist der Name Ihres virtuellen Android-Gerät
Versuchen Projekt wählen -> sauber. Ein einfaches sauber kann es reparieren.