问题描述
Android 8.0(Oreo)引入了三个默认分区:/system、/data和/sdcard。对于来自Unix/Linux背景的人来说,这些分区与Linux中的概念有些相似。但是,它们的具体用途和功能有所不同。
/system
类似于Linux中的根目录/
,用于存放系统二进制文件和预装应用。/data
类似于/home
,但存储的是用户安装的应用及其私有数据等。/sdcard
类似于/media
,用于存储用户的多媒体文件等。
此外,关于Android 6.0中可以从系统复制媒体文件到手机的功能是否在Android 7.0系列中恢复,以及Android系统中是否存在类似swap的概念,这些问题也引起了讨论。
解决方案
分区详细解析
/system 分区
- 作用:存放系统二进制文件和预装应用。
- 目录结构:
/system/bin
和/system/xbin
存放系统二进制文件。/system/app
和/system/priv-app
存放预装应用。/system/framework
和/system/lib
存放核心的.jar
类和.so
库文件,这些文件被多个应用共享。
/data 分区
- 作用:存放用户安装的应用及其私有数据、访问点信息等。
- 目录结构:
/data/app
存放应用的.apk
文件。/data/data
存放应用的私有数据。/data/misc/wifi
存放 Wi-Fi 访问点的信息。/data/system
存放应用包和权限信息的packages.xml
文件。/data/media/0
是当前用户的内部存储目录,通过 FUSE 孤立于其他目录,类似于 Linux 中的/home/$username
。/sdcard
和/storage/emulated/0
是指向/data/media/0
的符号链接。
权限说明
- 除了
/sdcard
和/storage/emulated/0
,其他目录均需要root权限才能访问。
文件传输
- MTP接口:Android设备通过MTP接口与电脑通信,限制了电脑可访问的目录。
- 数据传输:文件可以从电脑传输到Android设备,但仅限于
/sdcard
和外部SD卡。
Swap概念
- swap:Android系统本身不支持swap,但可以通过定制内核添加swap支持。
总结
- Android Oreo中的三个主要分区
/system
、/data
和/sdcard
分别对应了系统文件、用户应用及其数据、以及用户的多媒体文件。 - 文件传输功能在不同版本的Android中保持一致,但通过MTP接口进行,需要特定的后台支持。
- swap概念在Android中并不直接存在,但可以通过定制内核实现。
正文完