11 votes

Comment puis-je accéder à plusieurs espaces utilisateurs depuis adb ?

J'exécute KitKat sur une tablette avec deux utilisateurs : primaire (propriétaire) et secondaire. J'ai besoin d'accéder à un fichier généré par une application de l'utilisateur secondaire.

Lorsque je connecte la tablette à mon ordinateur de bureau (Ubuntu) via USB, elle se monte comme un périphérique multimédia (MTP) et m'affiche le dossier de base de l'utilisateur actif. [1] Mais le fichier que je veux est ailleurs sur le système, donc je me suis connecté en ligne de commande via adb shell à la place.

La connexion via ADB me donne accès à des dossiers plus profonds ( /mnt /proc etc.) mais je ne trouvais pas le fichier là où je l'attendais [2], alors j'ai regardé dans /sdcard de toute façon. À ma grande surprise, j'ai reconnu le contenu comme étant le dossier de base du compte propriétaire, même si l'utilisateur actuellement actif est l'utilisateur secondaire.

Cela m'indique également que, si jamais j'en ai besoin, je ne pourrai pas accéder au dossier de base de l'utilisateur secondaire via adb shell .

Comment puis-je accéder à la tablette depuis adb shell en tant qu'utilisateur secondaire, plutôt qu'en tant qu'utilisateur principal (propriétaire) ? (Le fait de pouvoir accéder aux fichiers de l'utilisateur secondaire est suffisant).

[1] Je ne suis pas sûr du terme approprié ici. Je veux dire le dossier avec Android, Download et Pictures, spécifique à un utilisateur particulier.

[2] Pour information, je suis en train d'exporter un fichier OPML à partir de Flym . Flym rapporte que l'exportation OPML est générée à /storage/emulated/10/Flym_123456789.opml mais je ne peux pas aller plus loin que /storage/emulated - il n'y a pas de sous-dossier appelé 10 seulement legacy qui est identique à /sdcard (le dossier de base du propriétaire principal, et non le dossier de base de l'utilisateur secondaire).

4voto

Milner Points 533

Le site legacy/ pointent toujours vers les données de l'utilisateur actuellement actif. Permettez-moi d'abord d'attirer l'attention sur quelques questions/réponses connexes qui traitent explicitement de ces problèmes de stockage multi-utilisateurs, afin d'avoir un aperçu du contexte :

Donc pour trouver les fichiers de l'utilisateur secondaire :

  • liste les sous-répertoires de /data/media et /storage/emulated
  • restreindre votre recherche aux sous-répertoires dont le nom est simplement "chiffres".
  • le site 0 Les candidats appartiennent au propriétaire, les nombres plus élevés sont ceux des utilisateurs secondaires.
  • Le stockage externe est quelque chose de différent : /sdcard/0 pointe vers la carte SD interne, tandis que /sdcard/1 devrait être l'externe (si disponible). De même pour le stockage attaché via OTG

N'oubliez pas que vous pourriez avoir besoin d'être Root pour accéder aux données d'un utilisateur autre que celui qui est actuellement actif sur l'appareil.

Voir aussi :

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