Android根目录文件夹层次结构详解

10次阅读
没有评论

问题描述

在Android的根目录(/)下,每个文件夹的作用是什么?本文旨在帮助读者了解Android的文件夹层次结构,并比较Android 2.3和4.x版本之间的差异,以确定它们之间是否存在不同的文件夹。

解决方案

Android文件系统概述

Android使用多个文件系统,类似于计算机上的“多个驱动器/分区”。此外,尽管存在一个共同的基础,制造商可能会对目录结构进行调整。因此,在继续之前,请参考以下链接了解更多信息:
文件系统标签维基
分区标签维基

分区

Android使用多个分区,这些分区在文件系统中表现为挂载点:

分区说明
/boot内核及相关文件
/cache用于OTA更新的缓存区域
/data用户数据分区¹
/data/data每个应用的数据目录¹
/dev设备文件²
/mnt/asec加密的应用程序(App2SD)
/mnt/emmc内部SD卡³
/mnt/sdcard外部SD卡³
/proc进程信息²
/recovery恢复模式使用的分区
/system只读的系统ROM

¹详情见下文。
²虚拟文件系统。
³这些可能因设备而异。通常,/mnt/sdcard指向内部SD卡,而外部SD卡位于/mnt/sdcard/external_sd。

目录

以下是几个重要的分区及其包含的目录:

/data 和 /data/data

这两个分区通常是分开的,但在某些情况下可能会有所不同。它们的一个共同特点是会在工厂重置时被清空,而其他分区通常不会受到影响。

目录说明
/data/anr应用崩溃的痕迹(应用程序未响应)
/data/app用户安装的应用的.apk文件
/data/backupGoogle云备份相关数据
/data/dalvik-cache安装应用的优化版本¹
/data/data每个应用的数据目录,使用应用的包名
/data/local例如Google Play下载的临时文件
/data/misc系统配置(WiFi、VPN等)
/data/system更多系统相关的数据(证书、电池状态等)
/data/tombstones更多崩溃数据(核心转储)

¹有关Dalvik缓存的详细信息,请参阅标签维基

注意事项

  • /cache分区主要用于OTA更新,而不是应用缓存。
  • /recovery/cache分区在A/B设备上会被清除。

对于更深入的细节,建议参考以下资源:
– XDA开发者论坛
– 技术书籍,如Andrew Hoog的《Android取证与移动安全》
Stack Exchange元论坛

正文完