Android SdCard路径说明

2019-04-14  本文已影响0人  ByteCarry

Android文件系统目录结构

/data 内部存储分区

Android应用会安装到该分区,执行恢复出厂设置时会清空该分区
/data 会包含两个目录/data和/app

存储所有应用包的apk文件

每个应用的私有存储目录,根据包名区分

/storage 外部存储分区

包含两个目录emulated/, self/

用户外部存储

当前用户()标识符, 是Android 4.2+多用户中的用户
/storage/emulated/0/ 实际上是指向手机内部存储(区别手机SdCard)虚拟文件路径(Linux中一切皆文件)。所以/storage/emulated/0/xxx直接在手机内部存储根目录下查找xxx即可。

/sdcard 存储卡

/sdcard/ 和 mnt/sdcard都是Android6.0+上的/storage/self/primary的链接符号(虚拟的)./sdcard最终链接到/storage/emulated/0,/sdcard分区是从固定存储上分割的主外部存储,如果你还有另外一张真实的物理SdCard,那么它会作为第二外部存储被划分到/storage分区。

 /sdcard ---> /storage/self/primary
 /mnt/sdcard ---> /storage/self/primary
 /storage/self/primary ---> /mnt/user/0/primary
 /mnt/user/0/primary ---> /storage/emulated/0

内外存储区分主要在权限粒度上不同,内部存储区不能被随意访问,App也只能访问自己私有的包目录,即使手机上没有SdCard,也需要划分出外部存储区,最新的Android手机设备甚至取消了SdCard卡槽。

/data/data/your.package/

应用私有目录,只有自己能够访问,会随着应用卸载被删除

/storage/emulated/0

所有应用都可以访问的公共空间,不会随着应用卸载被删除。

/storage/emulated/0/Android/data/your.package/

应用私有目录,只有自己能够访问,会随着应用卸载被删除.

存储相关的APi

内部存储

私有外部存储

公共外部存储

参考文档

  1. https://imnotyourson.com/which-storage-directory-should-i-use-for-storing-on-android-6/
  2. https://developer.android.com/training/data-storage/files#InternalVsExternalStorage
上一篇下一篇

猜你喜欢

热点阅读