10 votos

¿Cómo puedo acceder a múltiples espacios de usuario desde adb?

Estoy ejecutando KitKat en una tablet con dos usuarios: primario (propietario) y secundario. Necesito acceder a un archivo generado por una aplicación del usuario secundario.

Cuando conecto la tablet en mi escritorio (Ubuntu) a través de USB, se monta como un dispositivo de medios (MTP), y me muestra la carpeta base para el usuario actualmente activo. 1] Pero el archivo que quiero está en otra parte del sistema, así que me conecté desde la línea de comandos a través de adb shell en su lugar.

Conectarme a través de ADB me da acceso a carpetas más profundas ( /mnt /proc etc) pero no pude encontrar el archivo donde lo esperaba [2], así que busqué en /sdcard de todas formas. Para mi sorpresa reconocí el contenido como la carpeta base de la cuenta del propietario, aunque el usuario actualmente activo es el usuario secundario.

Esto también me dice que, si alguna vez lo necesito, no podré acceder a la carpeta base para el usuario secundario a través de adb shell .

¿Cómo puedo acceder a la tablet desde adb shell como el usuario secundario, en lugar del usuario principal (propietario)? (Poder acceder a los archivos del usuario secundario es suficiente.)

No estoy seguro de cuál es el término apropiado aquí. Me refiero a la carpeta con Android, Download y Pictures, específica para un usuario en particular.

2] FWIW Estoy exportando un archivo OPML de Flym . Flym informa que la exportación de OPML se genera en /storage/emulated/10/Flym_123456789.opml pero sólo puedo llegar hasta /storage/emulated - no hay una subcarpeta llamada 10 Sólo legacy que es lo mismo que /sdcard (la carpeta base del usuario primario/propietario, no la carpeta base del usuario secundario).

4voto

Izzy Puntos 45544

El legacy/ Las ubicaciones siempre apuntan a los datos del usuario actualmente activo. Permítanme primero señalar algunas preguntas/respuestas relacionadas que tratan explícitamente de esos temas de almacenamiento multiusuario para algunos antecedentes:

Así que para encontrar los archivos del usuario secundario:

  • enumerar los subdirectorios de /data/media y /storage/emulated
  • restringir su búsqueda a subdirectorios cuyos nombres son simplemente "números"
  • el 0 los candidatos pertenecen al propietario, los números más altos son de usuarios secundarios
  • el almacenamiento externo es algo diferente: /sdcard/0 apunta a la tarjeta SD interna, mientras que /sdcard/1 debe ser el externo (si está disponible). De manera similar para el almacenamiento adjunto a través de OTG

Recuerde que puede necesitar ser Root para acceder a los datos de un usuario distinto al que está activo en el dispositivo.

También ver:

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X