Estou executando o KitKat em um tablet com dois usuários: primário (proprietário) e secundário. Preciso acessar um arquivo gerado por um aplicativo do usuário secundário.
Quando conecto o tablet à minha área de trabalho (Ubuntu) via USB, ele é montado como um dispositivo de mídia (MTP) e me mostra a pasta base do usuário ativo no momento. [1] Mas o arquivo que eu quero está em outro lugar no sistema, então eu conectei a partir da linha de comando via adb shell
.
A conexão via ADB me dá acesso a pastas mais profundas ( /mnt
/proc
etc), mas não consegui encontrar o arquivo onde esperava [2], então procurei de /sdcard
qualquer maneira. Para minha surpresa, reconheci o conteúdo como a pasta base da conta do proprietário, mesmo que o usuário ativo no momento seja o usuário secundário.
Isso também me diz que, se precisar, não poderei acessar a pasta base para o usuário secundário via adb shell
.
Como posso acessar o tablet adb shell
como usuário secundário, e não como usuário principal (proprietário)? (Ser capaz de acessar os arquivos do usuário secundário é bom o suficiente.)
[1] Não sei qual é o termo adequado aqui. Quero dizer a pasta com Android, Download e Imagens, específica para um usuário em particular.
[2] FWIW Estou exportando um arquivo OPML da Flym . Flym relata que a exportação OPML é gerada em, /storage/emulated/10/Flym_123456789.opml
mas eu só posso chegar até /storage/emulated
- não há subpasta chamada 10
, apenas legacy
a mesma que /sdcard
(a pasta base principal / proprietário, não a pasta base do usuário secundário).
fonte
Respostas:
Os
legacy/
locais estão sempre apontando para os dados do usuário ativo no momento. Deixe-me primeiro apontar para algumas perguntas / respostas relacionadas que lidam explicitamente com os problemas de armazenamento multiusuário para alguns antecedentes:Então, para encontrar os arquivos do usuário secundário:
/data/media
e/storage/emulated
0
candidatos pertencem ao proprietário, números mais altos são de usuários secundários/sdcard/0
aponta para o sdcard interno, enquanto/sdcard/1
deve ser o externo (se disponível). Da mesma forma para armazenamento conectado via OTGLembre-se de que você pode precisar ser root para acessar dados de um usuário que não seja o atualmente ativo no dispositivo.
Veja também:
fonte
emulated/
deve apontar para os dados do usuário secundário. Não há como acessar tudo sem raiz. E correto, não há processo oficial para fazer root no seu dispositivo; convém verificar nossa tag-wiki e índice de root para procurar por generais e por seu dispositivo. Se não estiver listado, faça uma nova pergunta para isso.