我之前从未见过此情况,因此我假设它是在升级到4.2时发生的:我相当确定/sdcard/曾经直接将我带到sdcard,但是现在当我走那条路时(在CWM恢复例如)我需要转到/sdcard/0,还有/sdcard/legacy突然敲门。

这些文件夹是什么,为什么出现?

#1 楼

这与JellyBean 4.2(不是4.1)启用的“多用户”功能有关。为了处理单独的帐户,必须更改目录结构的某些部分。 q例如:总是指向当前登录用户的sd卡目录。
我目前无法找到阅读详细信息的文档,因此无法链接任何源。但是考虑到以上几点,很容易猜到/sdcard/legacy最有可能是设备所有者(或“第一用户”-“第一用户”始终成为“设备所有者”,只有该用户可以创建其他帐户) sd卡等。我将在找到链接后立即添加指向该链接的链接。
编辑:我从中得到这个想法的页面之一是AndroidNext。关于SD卡,1droid给出了不同的解释:

在Android 4.2中,Google引入了多个用户作为一项新功能。为了容纳多个用户,Google现在为每个用户提供了自己的文件夹进行存储。如果从4.1升级到4.2,则4.2 ROM将在/ data中查找某个文件,以确定是否需要将所有文件迁移到新的多用户数据结构。默认情况下,4.2将所有/ data / media迁移到/ data / media / 0。
自定义恢复出现问题。在恢复出厂设置期间,自定义恢复将保留/ data / media文件夹。当您恢复出厂设置,然后再次启动4.2 ROM时,4.2 ROM将再次迁移/ data / media中的所有内容。每次您恢复出厂设置时,它将迁移您的文件。这种多重迁移导致某些人的文件移至/ sdcard / 0甚至/ sdcard / 0/0等。

因此,这实际上与新的多用户功能有关-一种方法。

评论


您是一位绅士和学者,很好的答案。您关于0是第一个用户的理论也很有意义,因为我只有一个用户,并且/ sdcard / 0是存在的唯一“数字目录”。

– pzkpfw
2012-12-17 11:01



与此相关的还有丹·莫里尔(Dan Morrill)对Android为什么从USB大容量存储转移到内部存储的MTP访问的解释,这涉及“假” / sdcard / fodler问题androidpolice.com/2011/11/18/…

–GAThrawn
13年2月13日在14:52

尽管在“文件选择器”问题上我非常不同意他的观点(我早些时候已经将该文章添加为书签)。我们不是在库比蒂诺,也不是侏儒。我们不必隐藏任何东西,也不必告诉用户他真正想要什么(尽管他“可能还不知道”)。无论设置什么默认值,我都喜欢这些选项。在配置中将其设置为常规开关:“是的,我是一个成熟的用户” /“否,我宁愿像其他人为我决定一样” ...除此之外:不错:)

– Izzy♦
13年2月13日在15:27

在Android6(Marshmallo)中,/ storage / emulated / legacy变为空(至少在Nexus设备上),在升级到Marshmallow之前,其包含的内容与/ storage / emulated / 0相同

– Gili Nachum
2015年12月4日在21:43