Warum wurde / sdcard / mit 4.2 zu / sdcard / 0 /?

20

Ich habe das noch nie zuvor gesehen, also gehe ich davon aus, dass es passiert ist, als ich auf 4.2 aktualisiert habe: Ich bin mir ziemlich sicher, dass /sdcard/es mich direkt zu meiner SD-Karte geführt hat, aber jetzt, wenn ich zu diesem Pfad gehe (z. B. bei der CWM-Wiederherstellung) ) Ich muss gehen /sdcard/0, da /sdcard/legacyklopft es auch plötzlich rum.

Was sind diese Ordner und warum sind sie erschienen?

pzkpfw
quelle

Antworten:

23

Dies hängt mit der Mehrbenutzerfunktion zusammen, die mit JellyBean 4.2 (nicht 4.1) aktiviert wurde. Um getrennte Accounts verwalten zu können, mussten Teile der Verzeichnisstruktur geändert werden. /sdcard/legacyzB zeigt immer auf das sd-kartenverzeichnis des aktuell angemeldeten benutzers.

Ich kann das Dokument, in dem ich die Details gelesen habe, derzeit nicht finden, daher kann ich keine Quelle verknüpfen. Vor diesem Hintergrund ist es jedoch leicht zu erraten, dass /sdcard/0höchstwahrscheinlich die Gerätebesitzer (oder "Erstbenutzer" - der "Erstbenutzer" wurde immer zum "Gerätebesitzer", nur dieser Benutzer kann zusätzliche Konten erstellen) sd Karte und so weiter. Ich werde einen Link zu einer Quelle hinzufügen, sobald ich ihn finde.

EDIT: Eine der Seiten, auf denen ich diese Idee hatte, ist AndroidNext . 1droid gibt eine andere Erklärung, wenn es um SD-Karte geht:

Mit Android 4.2 hat Google mehrere Benutzer als neue Funktion eingeführt. Um mehrere Benutzer aufnehmen zu können, gibt Google jetzt jedem Benutzer einen eigenen Ordner zum Speichern. Wenn Sie von 4.1 auf 4.2 aktualisiert haben, sucht das 4.2-ROM nach einer bestimmten Datei in / data, um festzustellen, ob alle Ihre Dateien in die neue Mehrbenutzer-Datenstruktur migriert werden müssen. Standardmäßig migriert 4.2 alle Dateien von / data / media nach / data / media / 0.

Bei benutzerdefinierten Wiederherstellungen ist jedoch ein Problem aufgetreten. Bei einer benutzerdefinierten Wiederherstellung wird der Ordner / data / media während eines Zurücksetzens auf die Werkseinstellungen beibehalten. Wenn Sie die Werkseinstellungen zurücksetzen und dann ein 4.2-ROM erneut starten, migriert das 4.2-ROM alles in / data / media erneut. Bei jedem Zurücksetzen auf die Werkseinstellungen werden Ihre Dateien migriert. Diese mehrfache Migration hat dazu geführt, dass einige Leute ihre Dateien nach / sdcard / 0 oder sogar / sdcard / 0/0 usw. verschoben haben.

Es hat also tatsächlich mit der neuen Multi-User-Funktion zu tun - auf die eine oder andere Weise.

Izzy
quelle
Sie sind ein Gentleman und ein Gelehrter, eine großartige Antwort. Ihre Theorie, dass 0 der erste Benutzer ist, ist ebenfalls sinnvoll, da ich nur einen Benutzer habe und /sdcard/0das einzige "Nummernverzeichnis" bin, das existiert.
pzkpfw
Auch relevant ist dies Dan Morrill die Erklärung, warum Android von USB - Massenspeicher zu MTP - Zugang für den internen Speicher bewegt, die auf der „falschen“ berührt / sdcard / Födler Ausgabe androidpolice.com/2011/11/18/...
GAThrawn
Obwohl ich mit ihm in der Frage "Dateiauswahl" nicht einverstanden bin (ich habe diesen Artikel bereits vor einer Weile mit einem Lesezeichen versehen). Wir sind hier weder in Cupertino noch in Gnomish. Wir müssen die Dinge nicht verstecken und dem Benutzer mitteilen, was er wirklich will (obwohl er "es vielleicht noch nicht weiß"). Ich bevorzuge die Optionen, unabhängig von den Standardeinstellungen. Machen Sie einen allgemeinen Schalter in der Konfiguration: "Ja, ich bin ein reifer Benutzer" / "Nein, ich mag lieber andere Leute, die sich für mich entscheiden" ... Ansonsten: Guter Punkt :)
Izzy
In Android6 (Marshmallo) wird / storage / emulated / legacy leer (zumindest auf Nexus-Geräten), und vor dem Upgrade auf Marshmallow enthielt es dasselbe wie / storage / emulated / 0
Gili Nachum