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

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/mich das früher direkt zu meiner SD-Karte geführt hat, aber jetzt, wenn ich zu diesem Pfad gehe (z. B. in der CWM-Wiederherstellung ) Ich muss nach /sdcard/0, da /sdcard/legacyklopft es auch plötzlich.

Was sind diese Ordner und warum sind sie erschienen?

Antworten (1)

Das hat mit der Multi-User-Funktion zu tun, die mit JellyBean 4.2 (nicht 4.1) aktiviert ist. Um getrennte Accounts handhaben zu können, mussten Teile der Verzeichnisstruktur geändert werden. /sdcard/legacyz. B. zeigt immer auf das SD-Kartenverzeichnis des aktuell angemeldeten Benutzers.

Ich kann derzeit das Dokument, in dem ich die Details gelesen habe, nicht finden, daher kann ich keine Quelle verlinken. Aber in Anbetracht des Obigen ist es leicht zu erraten, dass /sdcard/0dies höchstwahrscheinlich die Gerätebesitzer sein werden (oder „erste Benutzer“ – der „erste Benutzer“ 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 sie finden kann.

BEARBEITEN: Eine der Seiten, von denen ich auf diese Idee gekommen bin, ist AndroidNext . 1droid gibt eine andere Erklärung, wenn es um SD-Karten geht:

Mit Android 4.2 hat Google als neues Feature mehrere Nutzer eingeführt. Um mehreren Benutzern gerecht zu werden, 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 /data/media nach /data/media/0.

Bei benutzerdefinierten Wiederherstellungen trat jedoch ein Problem auf. Bei einer benutzerdefinierten Wiederherstellung bleibt der Ordner „/data/media“ während des Zurücksetzens auf die Werkseinstellungen erhalten. Wenn Sie die Werkseinstellungen wiederherstellen und dann ein 4.2-ROM erneut booten, migriert das 4.2-ROM alles erneut in /data/media. Es wird Ihre Dateien bei jedem Zurücksetzen auf die Werkseinstellungen migrieren. 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 – so oder so.

Sie sind ein Gentleman und ein Gelehrter, großartige Antwort. Ihre Theorie, dass 0 der erste Benutzer ist, ist auch sinnvoll, da ich nur einen Benutzer habe und /sdcard/0das einzige "Nummernverzeichnis" ist, das existiert.
Dazu gehört auch die Erklärung von Dan Morrill, warum Android vom USB-Massenspeicher zum MTP-Zugriff für den internen Speicher übergegangen ist, was das „gefälschte“ /sdcard/fodler-Problem berührt androidpolice.com/2011/11/18/…
Obwohl ich ihm in der Frage "Dateiauswahl" absolut nicht zustimme (ich habe diesen Artikel bereits vor einer Weile mit einem Lesezeichen versehen). Wir sind hier weder in Cupertino noch wir Gnomen. Wir müssen nichts verheimlichen und dem Benutzer sagen, was er wirklich will (obwohl er „vielleicht noch nicht weiß“). Ich bevorzuge die Optionen, unabhängig davon, welche Standardeinstellungen festgelegt sind. Mach es generell in der Config um: "Ja, ich bin ein reifer User" / "Nein, ich mag es lieber, wenn andere für mich entscheiden"... Abgesehen davon: Guter Punkt :)
In Android6 (Marshmallo) wird /storage/emulated/legacy leer (zumindest auf Nexus-Geräten), wo es vor dem Upgrade auf Marshmallow dasselbe wie /storage/emulated/0 enthielt