가상 / sdcard /의 여러 위치에 혼동


46

Nexus 4와 같은 일부 기기에는 SD 카드 용 외부 슬롯이 없습니다. 대신 /sdcard/동일한 방식으로 취급 되는 루트 폴더 가 있습니다. 그러나 모든 파일이 같은 파일을 가리키는 다른 경로도 있습니다. 어떤 종류의 리디렉션이 있어야합니다 ( Linux 에서는 심볼릭 링크 라고 생각합니다 ).

이 모든 경로에는 동일한 파일이 포함됩니다.

/sdcard/
/storage/sdcard0/
/storage/emulated/0/
/storage/emulated/legacy/

"실제"경로는 무엇입니까? 다른 길은 어떻습니까? 그들은 무엇을 위해 사용되며 왜 존재합니까?

답변:


38

추천 강의 : 왜 / sdcard /가 4.2에서 / sdcard / 0 /로 바뀌 었습니까? .

간단히 말해 : Jelly Bean에 도입 된 다중 사용자 기능과 관련이 있습니다.

  • /storage/emulated/0/: 내 지식으로, 이것은 "에뮬레이트 된 MMC"( "소유자 부분")을 말합니다. 보통 이것은 내부입니다. "0"은 여기서 사용자를 나타내고 "0"은 첫 번째 사용자 일명 장치 소유자입니다. 추가 사용자를 생성하면이 숫자가 증가합니다.
  • /storage/emulated/legacy/이전과 동일하지만 현재 작업중인 사용자의 부분을 가리키는 경우 (소유자에게는이 링크가 심볼릭 링크 /storage/emulated/0/임) 따라서이 경로는 모든 사용자를 그의 "부분"으로 가져와야합니다.
  • /sdcard/: Shywim코멘트에 따르면 , 이것은 ...
    • /mnt/sdcard (Android <4.0)
    • /storage/sdcard0 (Android 4.0 이상)
  • /storage/sdcard0/: legacy여기에 펜던트 가 없으므로 (아래 주석 참조)이 경우 "0"은 장치 (카드) 자체를 식별합니다. 하나는, 결국, 다음 될 수 없을 것입니다 OTG를 통해 다른 SDCard에와 카드 리더를 연결할 수 있습니다 /storage/sdcard1(-하지만 나는 좋은 하나라고 말하고 싶지만 그럴 증거, 단지 추측)

여기에도 결론이 나올지 모르지만 /storage/sdcard/legacy여기에있는 숫자에 대한 나의 가정과 완전히 일치하는 의견이 없습니다 (의견 참조). 0 "은 항상 장치의 카드 슬롯에있는 것이므로"레거시 심볼릭 링크 "가 필요하지 않습니다.


감사! 그리고 /storage/sdcard/legacy길은 없습니다 .
Torben Gundtofte-Bruun

2
이상한. 그러나 실제 sdcard에 대한 권한이 거의 없다는 사실과 관련이있을 수 있습니다 (FAT 파일 시스템이 지원하지 않기 때문에). 차이점 ( /sdcard0/vs /emulated/0)을 고려할 때 여기서 "0"은 카드 리더와 USB 호스트 모드를 통해 여러 SDCard를 연결하는 경우를위한 것입니다. 어려운 사실은 아니지만 추측 만해도 좋은 말을하겠습니다.
Izzy

이에 따라 답변이 업데이트 됨 :)
Izzy

2
/sdcard/단순히이다 심볼릭 링크/storage/sdcard0/. 4.0.0 이전 버전에서는입니다 /mnt/sdcard/.
Matthieu Harlé

그리고 안드로이드 4.0 이상에서는 /mnt/sdcard/에 대한 심볼릭 링크 라고 가정 합니다 /storage/sdcard0/. 둘 다 내 Nexus 4에서 탐색 할 수 있으므로
MrWhite

2

약간 혼란 스럽지만 메모리 레이아웃의 대체 경로입니다.

/ mnt / sdcard0 / (내부 가상 SD 카드)

더 많은 장치가 연결되어 있으면 올바른지 확인하지만 장치에 따라 이름이 다를 수 있습니다.

전의. / mnt / sdcard1 / (SD 슬롯의 물리적 SD 카드)

그러나 USB 플래시 드라이브와 같은 다른 장치를 어댑터와 연결하면

/ mnt / media_rw / usbdisk (android kitkat 4.4 이상?) 또는 / mnt / usbdisk (jellybean 4.1-4.2)


1
예, 이름은 장치 / 제조업체 / ROM에 따라 달라질 수 있습니다. 그러나 일반적으로, /mnt/*"실제 마운트"를 아래에 거주 - 모든 경우에 만 심볼릭 링크 /storage:
이지

글쎄, mnt 아래 에도 폴더가 있습니다. 장치 ROM을 자주 전환하므로 외부 SDcard를 기본 메모리로 만드는 ROM, 폴더가 내부 메모리로 작동하고 sdcard를 내부 메모리로 교체하지 않는 다른 ROM의 경우 이 나오지 않습니다. 사진으로. 모든 데이터가 그대로있는 폴더에 그대로 있지만 로컬 파일 관리자가 액세스 할 수 없습니다. 정확히 무엇인지 알고 싶었습니다.
Ali_Waris
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.