Ich entwickle unter Android 1.6 (Android SDK 2.1). Ich erstelle eine AVD mit dem AVD-Manager in Eclipse. Als ich diese avd startete, stellte ich fest, dass die Berechtigung des Verzeichnisses / sdcard "d ---------" ist. Ich kann die Datei also nicht auf die SD-Karte übertragen.
Weiß jemand, wie man dieses Problem löst?
android-emulator
Leox
quelle
quelle
Antworten:
Ich fand das funktioniert
Quelle: http://www.coderanch.com/t/611842/Android/Mobile/Android-emulator-sdcard-writable
quelle
Sobald Sie den Emulator von einer Shell aus gestartet haben, melden Sie sich bei einer anderen Shell an und geben Sie ein
Sie sollten sehen
# prompt
, dass dies Ihre Geräte- (Emulator-) Shell ist. Geben Sie nun den folgenden Befehl in die adb-Shell ein.Dies wird nun
/sdcard
mitrw(read-write)
Erlaubnis erneut bereitgestellt und Sie können Ihre Dateien/sdcard
mit dem folgenden Befehl aus Ihrer Host-Shell verschieben.Dabei kann filename.mp3 eine beliebige Datei sein, die Sie in den Android Emulator übertragen möchten.
Hoffe das hilft :)
quelle
/sdcard -> /mnt/sdcard
. Wenn dies ordnungsgemäß verknüpft ist, überprüfen Sie die Berechtigungen des Verzeichnisses/mnt/sdcard
. Wenn die erforderlichen Berechtigungen nicht vorhanden sind, geben Sie dazu den Befehl chmod aus. Zum Beispiel# chmod 0777 /mnt/sdcard
sollte funktionieren. PS: Normalerweise benötigen Sie keine Ausführungsberechtigung.mount -o rw,remount rootfs /
undchmod 777 /mnt/sdcard
. Hoffe das hilft.Stellen Sie im AVD Manager-Dienstprogramm für den Emulator zwei Dinge sicher:
Die SD-Kartengröße wird zB 512 angegeben.
Drücken Sie im Hardware-Tag auf Neu und wählen Sie "SD-Kartenunterstützung" aus dem Dropdown-Menü.
Starten Sie nun den Emulator. Die SD-Karte unterstützt jetzt auch das Schreiben.
quelle
Android Studio Version 0.8.9 und höher hat einen Fehler beim Erstellen von AVDs.
Siehe Ausgabe 78434 .
Problemumgehung
hw.sdCard=no
zuhw.sdCard=yes
Dies sollte für alle in neuen Builds funktionieren
quelle
Vielleicht klingt es dumm, aber es hat bei mir funktioniert, als ich das gleiche Problem hatte: Löschen Sie die erstellte AVD und erstellen Sie eine neue über AVD Manager mit einer SD-Karte von beispielsweise 512 MB.
Überprüfen Sie, ob beide über die richtigen Berechtigungen verfügen, und versuchen Sie, diese mit chmod zu ändern, wenn dies nicht der Fall ist.
Und wenn immer noch alles fehlschlägt, wiederholen Sie den Vorgang, aber erstellen Sie die AVD- und SD-Karte manuell über das Terminal:
Hoffentlich hilft das!
quelle
Ich denke, das Problem hier ist, dass Sie vergessen haben, die SD-Kartengröße einzustellen
Befolgen Sie diese Schritte, damit es funktioniert:
Das funktioniert gut in meinem Emulator!
quelle
Stellen Sie sicher, dass Sie im Fenster "AVD erstellen" für diesen bestimmten Emulator einen Wert angegeben haben, der für die SD-Kartengröße größer als Null ist .
quelle
mount -o remount, rw / sdcard
Dies ist der richtige Weg, um Ihre SD-Karte mit Ihrem Emulator erneut zu mounten.
quelle
Ich habe versucht, @ user2002993 große Hilfe, aber es ist ein Ort, es muss ein wenig bearbeitet werden, so habe ich bearbeitet und hier, was für mich auf Android Studio, Emulator Android 5 funktioniert.
Gehen Sie zu Ihrem ADB-Ordner, klicken Sie mit der rechten Maustaste auf den leeren Bereich und wählen Sie " Befehlsfenster hier öffnen ". Wenn Sie ADB von ADB-Installer installiert haben, öffnen Sie
cmd
und geben Sie die folgenden Befehle ein:Es sollte Ihre Emulatornummer und Details anzeigen. Dann folgte hier der Befehl:
Jetzt sollte es Ihnen die Eingabeaufforderung # anzeigen
Ja, doppelter Exit erforderlich, jetzt ist Ihre Eingabeaufforderung von adb shell weg. Legen Sie eine Datei in Ihrem ADB-Ordner ab, geben Sie diesen Befehl ein und prüfen Sie, ob er behoben wurde.
oder
Jetzt in cmd sollte es Ihnen die Übertragungszeit anstelle der gruseligen schreibgeschützten Sache zeigen 😊
quelle
Ich habe den virtuellen Speicher der SD-Karte für den Emulator auf 512 MB erhöht, und das war genug
quelle
Ich denke, Sie haben zum Zeitpunkt der Erstellung von avd keine Speichergröße eingefügt. Sie können dies tun, indem Sie die avd bearbeiten.
quelle
Stellen Sie sicher, dass Sie über die richtigen Berechtigungen verfügen.
quelle
Windows verwendet Schrägstriche, Linux Schrägstriche.
quelle
Manchmal kann dies einen sehr einfachen Grund haben. Gehen Sie in Eclipse zu Ihrer Liste und prüfen Sie, ob Sie die SDCard-Größe festgelegt haben
quelle
Ich hatte dieses Problem in der Android L-Entwicklervorschau und zumindest für diese Version habe ich es gelöst, indem ich eine SD-Karte mit einer Größe von Quadrat 2 (z. B. 128 MB, 256 MB usw.) erstellt habe.
quelle
In adb Version 1.0.32 und Eclipse Luna (v 4.4.1).
Ich habe in der avd / mnt / media_rw / sdcard ein Verzeichnis gefunden, in das Sie mit dem Befehl adb schreiben können. adb push {source} / mnt / media_rw / sdcard
Es scheint rw Zugriff auf dieses Verzeichnis zu geben.
Hoffe das hilft :-)
quelle
Alternativ: Entfernen Sie das Laufwerk (aus den Einstellungen / dem Speicher) und mounten Sie die SD-Karte erneut, um das Problem zu beheben. (Überprüfen Sie dies, indem Sie eine Datei vom internen Speicher auf die SD-Karte verschieben.) Auf jeden Fall hat diese einfache Methode diesmal meinen Hintern gerettet :)
quelle
Es wird definitiv funktionieren
quelle
Am Ende half mir der Emulator, den Anwendungsmanager auszuführen und Berechtigungen für den Speicher festzulegen.
quelle
Versuchen Sie dies in einem Terminal-Emulator als root:
quelle