Android Oreo中的/system、/data和/sdcard分区及其用途详解

9次阅读
没有评论

问题描述

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中并不直接存在,但可以通过定制内核实现。
正文完