Por que / sdcard / se transformou em / sdcard / 0 / com 4.2?

20

Eu nunca vi isso antes, então estou assumindo que isso aconteceu quando atualizei para o 4.2: tenho certeza de que /sdcard/costumava me levar diretamente ao meu sdcard, mas agora quando vou para esse caminho (na recuperação do CWM, por exemplo ) Eu preciso ir /sdcard/0, também está /sdcard/legacybatendo de repente.

O que são essas pastas e por que elas apareceram?

pzkpfw
fonte

Respostas:

23

Isso tem a ver com o recurso Multiusuários ativado com o JellyBean 4.2 (não 4.1). Para lidar com contas separadas, partes da estrutura de diretórios tiveram que ser alteradas. /sdcard/legacypor exemplo, sempre aponta para o diretório do cartão SD do usuário atualmente conectado.

No momento, não consigo encontrar o documento em que li os detalhes, portanto não consigo vincular nenhuma fonte. Mas com o exposto acima, é fácil adivinhar que /sdcard/0provavelmente serão os proprietários do dispositivo (ou "primeiros usuários" - o "primeiro usuário" sempre se tornará o "proprietário do dispositivo", apenas esse usuário poderá criar contas adicionais) sd cartão e assim por diante. Adicionarei um link a uma fonte assim que puder encontrá-lo.

Edição: Uma das páginas que eu tive essa idéia é AndroidNext . 1droid dá uma explicação diferente quando se trata de cartão SD:

Com o Android 4.2, o Google introduziu vários usuários como um novo recurso. Para acomodar vários usuários, o Google agora está dando a cada usuário uma pasta própria para armazenamento. Se você atualizou para 4.2 a partir de 4.1, a ROM 4.2 procurará um determinado arquivo em / data para determinar se é necessário migrar todos os seus arquivos para a nova estrutura de dados multiusuário. Por padrão, o 4.2 migra todos os / data / media para / data / media / 0.

Um problema surgiu com as recuperações personalizadas. Uma recuperação personalizada mantém a pasta / data / media durante uma redefinição de fábrica. Quando você redefine de fábrica e inicializa uma ROM 4.2 novamente, a ROM 4.2 migrará tudo em / data / media novamente. Ele migrará seus arquivos toda vez que você redefinir a fábrica. Essa migração múltipla foi o que resultou em algumas pessoas terem seus arquivos movidos para / sdcard / 0 ou mesmo / sdcard / 0/0 etc.

De fato, isso tem a ver com o novo recurso Multiusuários - de uma maneira ou de outra.

Izzy
fonte
Você é um cavalheiro e um estudioso, ótima resposta. Sua teoria sobre o 0 ser o primeiro usuário também faz sentido, pois eu tenho apenas um usuário e /sdcard/0é o único "diretório de números" que existe.
Pzkpfw
Também relevante para este é a explicação de Dan Morrill do porquê Android passou de armazenamento em massa USB para acesso MTP para o armazenamento interno, que toca no "fake" / sdcard emissão / fodler androidpolice.com/2011/11/18/...
GAThrawn
Embora eu discorde totalmente dele na questão do "seletor de arquivos" (eu já marquei esse artigo há um tempo atrás). Não estamos em Cupertino aqui, nem nos gnomos. Não precisamos esconder as coisas e dizer ao usuário o que ele realmente deseja (embora ele "ainda não saiba"). Prefiro as opções, quaisquer que sejam os padrões definidos. Faça uma mudança geral na configuração: "Sim, sou um usuário maduro" / "Não, gosto de outras pessoas que decidem por mim" ... Além disso: bom ponto :)
Izzy
Em Android6 (marshmallow), / voltas de armazenamento / emulado / legados esvaziar (pelo menos em dispositivos Nexus), em que antes de actualizar a Guloseima que continha o mesmo que / armazenamento / emulado / 0
Gili Nachun