6

Android 4.2 增加了对平板电脑的多用户支持。现在,当您通过类似的方法请求将文件保存在外部存储上的路径时,Environment.getExternalStorageDirectory()或者Context.getExternalFilesDir(null)您获得以下值:/storage/emulated/#/Android/data/your.package.name/# 是一个数字,具体取决于您当前登录的用户。

这工作正常,但我注意到 DDMS 的文件资源管理器和Android 文件传输都无法看到这些文件。

DDMS 的文件资源管理器只能看到storage/emulated/一个空legacy文件夹。文件传输可以看到 /Android/data/ 文件夹,但对于以调试方式运行的应用程序,其文件不可见(但它们确实存在)。

有没有办法让 DDMS 或文件传输与这些设备一起工作?(希望不必root设备...)

谢谢

4

2 回答 2

13

啊哈!

尝试/mnt/shell/emulated/N,对于Nlike的各种值0。这似乎在我的 Nexus 10 和 DDMS 中的 Galaxy Nexus 上正确映射。不过,我无法评论文件传输工具。

顺便说一句,用户的数字不是连续的。所以在我的N10上,原来的用户是0,第二个用户是10

于 2012-11-27T00:02:30.957 回答
3

由于 Jelly Bean 4.2 支持多用户配置文件,因此对 sd 卡浏览进行了一些更改。

您必须具有ADT v 21或更高版本才能浏览模拟 sd 卡。 /mnt/shell/emulated/0用于默认用户。有关更多详细信息,请参见随附的图像。在此处输入图像描述

放大图片

于 2013-01-23T14:06:42.690 回答