如何使用多用户环境在Android 4.2的外部存储上查看Android / data / your.package.name文件?

Android 4.2增加了对平板电脑的多用户支持。 现在,当您通过像Environment.getExternalStorageDirectory()Context.getExternalFilesDir(null)这样的方法请求保存外部存储器上的文件的path时,您将获得如下值:/ /storage/emulated/#/Android/data/your.package.name/ #这个数字取决于你当前login的用户。

这工作正常,但我注意到DDMS的文件资源pipe理器,也是Android文件传输不能够看到这些文件。

DDMS的文件资源pipe理器不能看到任何东西过去storage/emulated/除了一个空的legacy文件夹。 文件传输可以看到/ Android /数据/文件夹,但是作为debugging运行的应用程序,其文件不可见(但它们确实存在)。

有什么办法让DDMS或文件传输工作与这些设备? (希望没有根源的设备…)

谢谢

Solutions Collecting From Web of "如何使用多用户环境在Android 4.2的外部存储上查看Android / data / your.package.name文件?"

啊哈!

尝试/mnt/shell/emulated/N ,为/mnt/shell/emulated/N的各种值,如0 。 这似乎正确地映射在我的Nexus 10和我的Galaxy Nexus在DDMS。 不过,我不能评论文件传输工具。

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

由于果冻豆4.2支持多用户configuration文件,SD卡浏览已经改变了一点。

您必须具有ADT v 21或更高版本才能浏览仿真的SD卡。 / mnt / shell / emulated / 0是默认用户。 请参阅附件了解更多详情。 在这里输入图像说明

放大图片