0

Ich versuche, frisch gebaute Android-Image auf Emulator (generische aosp_x86-eng Ziel von aktuellen master mit Google-Quellen gebaut) zu laufen. Der Emulator scheint gut zu funktionieren, außer dass er keine externe SD-Karte anbringt, wenn er mit der Option -sdcard ausgeführt wird. Emulator-Version ist diejenige, die vom Git kommt. Alles wird auf einem kopflosen Server ausgeführt.Android Emulator nicht externe SD-Karte montieren

Meine komplette Liste der Schritte:

repo init -u https://android.googlesource.com/platform/manifest 
repo sync 
. build/envsetup.sh 
lunch aosp_x86-eng 
make -j16 
mksdcard 1G sd.img 
emulator -no-window -no-skin -no-audio -sdcard sd.img & 
adb shell mount | grep vfat 

Das virtuelle Gerät wird richtig weitergeleitet werden, wie durch die Ausgabe von adb shell blkid gesehen:

/dev/block/vda1: LABEL="system" UUID="da594c53-9beb-f85c-85c5-cedf76546f7a" TYPE="ext4" 
/dev/block/vdb: LABEL="cache" UUID="f73de97f-7017-ca5e-9b47-ca9c8f633e83" TYPE="ext4" 
/dev/block/vde1: LABEL="vendor" UUID="6d16bab1-58d9-3c5d-8f14-f608f924affd" TYPE="ext4" 
/dev/block/vdf: LABEL="SDCARD" UUID="1CEA-0B06" TYPE="vfat" 

Es wird jedoch nicht von vold montiert. Was könnte das Problem sein?

Ich bekomme auch das gleiche Ergebnis, wenn ich Emulator mit Android 8 Bild über SDK-Manager heruntergeladen ausführen. Mit Android 7 funktioniert die SD-Karte einwandfrei.

EDIT:

das Problem für Emulator gelöst, die mit aosp_x86-eng Build kommt (meine eigene Antwort sehen). Auf dem Emulator von Android SDK ist die Ursache wahrscheinlich anders.

+0

Mögliche Duplikate von [Android-Emulator wird keine SD-Karte mounten] (https://stackoverflow.com/questions/45681272/android-emulator-wont-mount-sd-card) – InsanityOnABun

+0

Werfen Sie einen Blick darauf: https: //stackoverflow.com/a/45967319/929560 – InsanityOnABun

+0

@InsanityOnABun Nein, mein Fall ist anders. Aber ich habe es schon gelöst. Ich werde selbst eine Antwort schreiben. – Thunderbeef

Antwort

0

Stellt sich heraus, in meinem Fall war Headless-Modus der Schuldige. Wenn ich einen Emulator mit den Optionen -no-skin -no-window starte, ist die SD-Karte nicht installiert. Wenn ich diese Optionen entferne (und die X11-Weiterleitung aktiviere, da ich auf einem kopflosen Server arbeite), funktioniert alles korrekt.

Ich möchte immer noch wissen, warum ich SD-Karte im Headless-Modus nicht verwenden kann, aber zumindest konnte ich das Problem für die erforderliche Aufgabe lösen.