如何从adb访问多个用户空间?


9

我在具有两个用户的平板电脑上运行KitKat:主要(所有者)和次要。我需要访问由辅助用户的应用程序生成的文件。

当我通过USB将平板电脑插入(Ubuntu)桌面时,它将作为媒体设备(MTP)挂载,并向我显示当前活动用户的基本文件夹。[1]但是我想要的文件在系统上的其他位置,所以我adb shell改为通过命令行从命令行连接。

通过ADB连接使我可以访问更深的文件夹(/mnt /proc等),但找不到所需的文件[2],因此/sdcard无论如何我都在寻找。令我惊讶的是,即使当前活动的用户是次要用户,我仍将该内容识别为所有者帐户的基本文件夹。

这也告诉我,如果需要,我将无法通过来访问辅助用户的基本文件夹adb shell

如何adb shell以辅助用户而不是主要(所有者)用户的身份访问平板电脑?(能够访问辅助用户的文件就足够了。)

[1]我不确定这里的正确用语是什么。我的意思是该文件夹包含特定于特定用户的Android,下载和图片。

[2] FWIW我正在从Flym导出OPML文件。Flym报告说,OPML导出是在以下位置生成的,/storage/emulated/10/Flym_123456789.opml但是我只能得到/storage/emulated-没有名为的子文件夹10,只有legacy/sdcard(主/所有者的基本文件夹,而不是辅助用户的基本文件夹)相同的子文件夹。


对于那些最终在本文中遇到相同或相似问题的人,请参阅如何在根目录为10的其他用户上访问模拟的sdcard
Firelord

Answers:


3

这些legacy/位置始终指向当前活动用户的数据。首先,让我指出一些相关的问题/答案,以解决某些背景下的多用户存储问题:

因此,要找到辅助用户的文件:

  • 列出的子目录/data/media/storage/emulated
  • 将您的搜索限制在名称只是“数字”的子目录中
  • 0候选人属于所有者,较高的数字是次要用户
  • 外部存储有所不同:/sdcard/0指向内部sdcard,而/sdcard/1应指向外部sdcard (如果可用)。同样通过OTG连接存储

请记住,您可能需要root用户才能访问设备上当前未激活的用户数据。

另请参阅:


这可以帮助我理解我应该看到的内容,但实际上我看到的只是/ storage / emulated / legacy(无数字文件夹),而我无权访问/ data / media(权限被拒绝)-我将尝试重新启动并且从不以所有者
身份

如我所写:“您可能需要成为root用户”(这说明“权限被拒绝”)。您的设备是否已扎根?
伊齐

它不是(有点害怕,似乎没有可靠的过程吗?)
david.libremone 2014年

但我可以确认这一点:重新启动设备,不要以所有者身份登录,以辅助身份登录,连接USB,通过MTP访问:可以看到辅助用户文件夹,可以通过adb shell访问:可以看到/ storage / emulated / legacy所有者用户(不是二级用户)-/ storage / emulated下没有其他文件夹出现
david.libremone 2014年

使用辅助用户登录时,emulated/应指向辅助用户的数据。没有root用户就无法访问所有内容。正确的是,没有官方程序可以根植您的设备;您可能需要检查我们的生根标签Wiki生根索引,以检查将军和您的设备。如果未列出,欢迎您提出一个新问题。
伊兹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.