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

时间:2012-11-26 22:57:40

标签: android android-sdcard android-4.2-jelly-bean

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

这很好但我注意到DDMS的文件资源管理器和Android File Transfer都无法看到这些文件。

除了空的storage/emulated/文件夹外,DDMS的文件资源管理器无法看到legacy之后的任何内容。文件传输可以看到/ Android / data /文件夹,但对于作为调试运行的应用程序,其文件不可见(但它们确实存在)。

有没有办法让DDMS或文件传输与这些设备一起使用? (希望无需根设备......)

由于

2 个答案:

答案 0 :(得分:13)

啊哈!

尝试使用/mnt/shell/emulated/NN 0的{​​{1}}。这似乎在我的Nexus 10和DDMS中的Galaxy Nexus上正确映射。不过,我无法对文件传输工具发表评论。

BTW,用户的数字不是连续的。因此,在我的N10上,原始用户为0,第二个用户为10

答案 1 :(得分:3)

由于Jelly Bean 4.2支持多用户配置文件,因此SD卡浏览有所改变。

您必须 ADT v 21 或更高才能浏览模拟的SD卡。 / mnt / shell / emulated / 0 适用于默认用户。有关详细信息,请参阅附件中的图片。enter image description here

Enlarge Image