Lösung: „Fehler beim Drücken der Auswahl: Nicht genügend Speicher“

I Erstellen Sie einen Artikel im Stapelüberlauf . Aber als ich diese Seite gefunden habe, beschließe ich, die gleiche Frage hier zu stellen, weil ich immer noch Ihre Hilfe brauche.

Folgende Schritte habe ich gemacht:

  1. Starten Sie Eclipse
  2. Gehen Sie zu: Fenster -> Perspektive öffnen -> Andere ...
  3. Wählen Sie im geöffneten Dialog DDMS aus
  4. Wählen Sie die Registerkarte " Datei-Explorer ".
  5. Drücken Sie „ Datei auf das Gerät übertragen “ und wählen Sie die Bibliothek aus, die ich übertragen möchte.

    Push-Auswahl fehlgeschlagen: Nur-Lese-Dateisystem

  6. Minimieren Sie alle geöffneten Fenster und öffnen Sie die Befehlszeile
  7. Schreiben Sie: cd C:\android\android-sdk-windows\platform-tools eingeben
  8. Schreiben: abd remount enter

    Sie werden Remount erfolgreich sehen

  9. Maximieren Sie Eclipse und versuchen Sie Schritt 5.

    Push-Auswahl fehlgeschlagen: Nicht genügend Speicher

Fehler erscheint! Was tun, um dieses Problem zu lösen ... Bitte helfen Sie.

HINZUGEFÜGT

1) Wenn ich ADB SHELL MOUNT schreibe:

rootfs / rootfs ro 0 0 
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0 
none /acct cgroup rw,cpuacct 0 0 
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0 
tmpfs /mnt/obb tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0 
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 
/dev/block/vold/179:0 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0

2) Shel Prompt beginnt mit: #

Entwicklungsfragen werden hier gemäß unserer FAQ als Off-Topic betrachtet .
Ich habe das Wort „Eclipse“ gelesen, also habe ich dafür gestimmt, dass es geschlossen wird, aber jetzt, wo ich den Rest des Beitrags und den verlinkten Beitrag gelesen habe, glaube ich, dass dies ein gutes Beispiel für Fragen ist, die Sie beim Entwickeln einer Anwendung erhalten sind nicht wirklich Entwicklungsfrage. Ich kann meine knappe Stimme nicht zurücknehmen, aber ich kann andere warnen, nicht so schnell eine knappe Stimme abzugeben.
Ich stimme @Lie zu, dass dies eine Grauzone ist. Ich sage, das sollte vorerst offen bleiben.
@ViTo Brothers Apoyan: Ich habe zwei Fragen 1) Welche Ausgabe haben Sie, wenn Sie dies tun adb shell mount(dies gibt Ihnen alle im Gerät gemounteten Dateisysteme und ihre Mount-Optionen)? 2) Wenn Sie dies tun adb shell, beginnt der Shell-Prompt mit #(was anzeigt, dass Sie root sind) oder $(was anzeigt, dass Sie nicht root sind)?
Sie haben diese Frage auch mit android-x86, android-x86 != Android-Emulator, der auf einem x86-Hostcomputer ausgeführt wird, getaggt. Verwenden Sie tatsächlich Android-x86 oder nur den regulären Emulator?
@Lie Ryan Ich habe Antwort in meinem Beitrag hinzugefügt!

Antworten (3)

Starten Sie den Emulator über die Befehlszeile, damit Sie mit der Option eine /systemPartitionsgröße angeben können. -partition-size <MB>Zum Beispiel verwende ich dies, um einen Emulator mit Android 1.6 mit einer /systemPartition von 512 MB zu starten:

emulator -avd Donut -partition-size 512

... wobei "Donut" das ist, was Sie Ihren AVD genannt haben (Sie können bei Bedarf im AVD-Manager von Eclipse nachsehen). Die emulatorBinärdatei sollte sich in Ihrem Verzeichnis tools/innerhalb Ihrer SDK-Installation befinden, was für Sie als .C:\android\android-sdk-windows\toolscd%Path%

Eclipse erkennt den Emulator möglicherweise nicht sofort oder erkennt ihn und beendet dann die Verbindung. Wenn einer dieser Fälle eintritt, klicken Sie auf das Menü „Ansicht“ auf der Registerkarte „Geräte“ (der kleine Pfeil neben der Schaltfläche „Minimieren“) und wählen Sie „Adb zurücksetzen“, um die Verbindung wiederherzustellen.

Sobald es auf Ihren Geräten angezeigt wird, tun Sie, was Sie zuvor versucht haben. Führen Sie dies adb remountaus, um die /systemPartition in den Lese-/Schreibmodus zu versetzen, und verwenden Sie dann Eclipse, um die Datei an die gewünschte Stelle zu verschieben. Ich habe vor einer Minute mit ein paar zufälligen Dateien getestet und konnte sie /system/xbinohne Probleme verschieben.

Als Referenz, hier ist die Partitionsgröße und Verwendung von /systemauf meinem Donut-Emulator, wenn ich eine 512-MB-Partition spezifiziere:

> adb shell df
...
/system: 508416K total, 61332K used, 447084K available (block size 4096)
...

Aber so sieht es aus, wenn ich starte, ohne eine Größe anzugeben:

> adb shell df
...
/system: 65536K total, 61204K used, 4332K available (block size 4096)
...

Darüber hinaus können Sie Befehlszeilenoptionen in der Ausführungskonfiguration Ihrer Anwendung über Eclipse festlegen, wenn Sie möchten. Gehen Sie in Ihre Java-Perspektive und wählen Sie dann Run->Run Configurationsaus der Menüleiste aus. Wählen Sie Ihre Anwendung im linken Bereich aus und wählen Sie dann die Registerkarte „Ziel“. Unten befindet sich ein Textfeld mit der Bezeichnung „Zusätzliche Emulator-Befehlszeilenoptionen“, und Sie können -partition-size <MBs>diesem Textfeld etwas hinzufügen, sodass der Emulator, der beim Ausführen Ihrer Anwendung gestartet wird, eine größere /systemPartition hat.

Hinweis: Möglicherweise müssen Sie auch -no-snapstorageoder andere Optionen zur Befehlszeile hinzufügen, um das Laden des vorhandenen Snapshots zu deaktivieren. Ohne ging es bei mir nicht.

Vielen Dank sehr passend !!! Du löst mein Problem!!! Vielen Dank !!!!!!!

Der einfache Weg: Starten Sie Ihr Telefon im Wiederherstellungsmodus neu, dann mounten Sie System. Jetzt können Sie Ihre Datei problemlos übertragen.

Ich nehme an, Sie haben die Zeile /dev/block/mtdblock0 /system yaffs2 rw 0 0in der Frage verpasst? Was sollte sich also ändern, wenn Sie es aus der Wiederherstellung mounten? Voll ist voll, Sie gewinnen keinen zusätzlichen Speicherplatz auf einem vollen Dateisystem, indem Sie es "von woanders" mounten.

Lösung: „Fehler beim Drücken der Auswahl: Nicht genügend Speicher“

Geben Sie beim Erstellen eines neuen virtuellen Android-Geräts (AVD) auf der Registerkarte SD CARD einen Wert (100) in MB ein.

Wirklich, es funktioniert für mich!!

Das ist nicht richtig. Das Erstellen einer virtuellen SD-Karte hilft Ihnen nicht, Dateien auf die /systemPartition zu verschieben, wie die Frage stellt. Sie sind völlig unabhängige Speicherbereiche.