21 votes

Pourquoi /sdcard/ s'est transformé en /sdcard/0/ avec la 4.2 ?

Je n'ai jamais vu cela auparavant, je suppose donc que cela s'est produit lors de la mise à jour vers la version 4.2 : je suis pratiquement certain que /sdcard/ m'emmenait directement à ma carte SD, mais maintenant quand je vais vers ce chemin (dans CWM recovery par exemple) je dois aller vers /sdcard/0 il y a aussi /sdcard/legacy en train de frapper soudainement.

Que sont ces dossiers et pourquoi sont-ils apparus ?

24voto

Milner Points 533

Cela est lié à la fonction multi-utilisateurs activée avec JellyBean 4.2 (et non 4.1). Afin de gérer les comptes séparés, certaines parties de la structure des répertoires ont dû être modifiées. /sdcard/legacy Par exemple, il pointe toujours vers le répertoire de la carte sd de l'utilisateur actuellement connecté.

Je ne peux actuellement pas trouver le document où j'ai lu les détails, donc je ne peux pas lier de source. Mais avec ce qui précède en tête, il est facile de deviner que /sdcard/0 sera très probablement le propriétaire de l'appareil (ou le "premier utilisateur" - le "premier utilisateur" devient toujours le "propriétaire de l'appareil", et seul cet utilisateur peut créer des comptes supplémentaires), la carte SD, et ainsi de suite. Je vais ajouter un lien vers une source dès que je la trouve.

EDITAR: L'une des pages qui m'a donné cette idée est la suivante AndroidNext . 1droïde donne une explication différente quand il s'agit de la carte SD :

Avec Android 4.2, Google a introduit une nouvelle fonctionnalité pour les utilisateurs multiples. Afin d'accommoder les utilisateurs multiples, Google donne maintenant à chaque utilisateur son propre dossier pour le stockage. Si vous êtes passé de la version 4.1 à la version 4.2, la ROM 4.2 recherchera un certain fichier dans /data pour déterminer si elle doit migrer tous vos fichiers vers la nouvelle structure de données multi-utilisateurs. Par défaut, la version 4.2 migre tous les fichiers de /data/media vers /data/media/0.

Un problème s'est cependant posé avec les récupérations personnalisées. Une restauration personnalisée conserve le dossier /data/media pendant une réinitialisation d'usine. Lorsque vous faites une réinitialisation d'usine et que vous redémarrez une ROM 4.2, la ROM 4.2 va migrer tout ce qui se trouve dans /data/media à nouveau. Elle migrera vos fichiers à chaque fois que vous ferez une réinitialisation d'usine. Cette migration multiple est la raison pour laquelle certaines personnes ont vu leurs fichiers déplacés vers /sdcard/0 ou même /sdcard/0/0, etc.

Cela a donc un rapport avec la nouvelle fonction multi-utilisateurs, d'une manière ou d'une autre.

0 votes

Vous êtes un gentleman et un érudit, excellente réponse. Votre théorie sur le fait que 0 soit le premier utilisateur est également logique puisque je n'ai qu'un seul utilisateur, et que /sdcard/0 est le seul "répertoire de numéros" qui existe.

0 votes

Dans le même ordre d'idées, Dan Morrill explique pourquoi Android est passé de l'USB Mass Storage à l'accès MTP pour le stockage interne, et évoque le problème du "faux" /sdcard/ fodler. androidpolice.com/2011/11/18/

0 votes

Bien que je ne sois pas du tout d'accord avec lui sur la question du "sélecteur de fichiers" (j'ai déjà mis cet article dans mes favoris il y a un moment). Nous ne sommes pas à Cupertino ici, ni à Gnomish. Nous n'avons pas à cacher les choses, et dire à l'utilisateur ce qu'il veut vraiment (même s'il "ne le sait peut-être pas encore"). Je préfère les options, quelles que soient les valeurs par défaut. Faites-en un interrupteur général dans la configuration : "Oui, je suis un utilisateur mature" / "Non, je préfère que d'autres personnes décident pour moi"... A part ça : Bon point :)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X