在Android的根目录(/)上,每个文件夹的用途是什么?我想学习文件夹层次结构。我想知道Android 2.3和4.x之间的区别,如果它们在“ /”中有不同的文件夹。

评论

相关,对于Jellybean(4.1 +)/ data / user目录中存储什么类型的数据?

Android分区和文件系统

#1 楼

首先,您需要了解以下两个事实:

Android使用了多个文件系统(与计算机进行比较时,认为“多个驱动器/分区”
,但共享一个共同的基础,不同制造商之间的目录结构可能有所不同

,因此,作为起点,我进一步建议使用文件系统标签wiki和分区标签wiki(您可能还想了解使用的最常见问题这些标签)。
在我的回答中,我将专注于提到的“通用基础”。但是,某些制造商仍然可能会有偏差。
分区
如前所述,Android可以使用在文件系统中,它们由“目录”表示,用作它们的安装点:
┌─────────────┬───────────────────────────┐  
| Partition   | Explanation               |  
├─────────────┼───────────────────────────┤  
| /boot       | kernel & Co.              |  
| /cache      | app cache                 |  
| /data       | user data partition¹      |  
| /data/data  | app data¹                 |  
| /dev        | devices²                  |  
| /mnt/asec   | encrypted apps (App2SD)   |  
| /mnt/emmc   | internal sdcard³          |  
| /mnt/sdcard | external sdcard³          |  
| /proc       | process information²      |  
| /recovery   | used in recovery mode     |  
| /system     | system ROM (read-only)    |  
└─────────────┴───────────────────────────┘

¹下面的详细信息
²虚拟文件系统
³这些可能会有所不同。通常,/mnt/sdcard是内部SD卡,而外部SD卡则在/mnt/sdcard/external_sd中。
上面的清单还远远不够完整,但应该最重要的分区。
目录
在这里,我再次将重点放在最有趣的分区上(否则此答案将变得太长,对大多数读者而言很无聊。

/data/data/data

在大多数情况下,它们是两个单独的分区,但是在某些情况下,可能需要另外处理。它们有一个共同点(在这里也添加了/cache):它们在恢复出厂设置时就被擦除了,而其他分区通常不受影响。
对于包含的目录,我将再次关注选择有关Dalvik缓存的详细信息,请参见这里的大多数内容。
┌────────────────────┬──────────────────────────────────────────────┐  
| Directory          | Explanation                                  |  
├────────────────────┼──────────────────────────────────────────────┤  
| /data/anr          | traces from app crashes (App Not Responding) |  
| /data/app          | .apk files of apps installed by the user     |  
| /data/backup       | Googles Cloud-Backup stuff                   |  
| /data/dalvik-cache | optimized versions of installed apps¹        |  
| /data/data         | app data²                                    |  
| /data/local        | temporary files from e.g. Google Play³       |  
| /data/misc         | system configuration (WiFi, VPN, etc.)       |  
| /data/system       | more system related stuff (certs, battstat)  |  
| /data/tombstones   | more crash stuff ("core dumps")              |  
└────────────────────┴──────────────────────────────────────────────┘

¹有关Dalvik缓存的详细信息,请参见:dalvik
²每个应用程序都使用以下命令在此处分配了自己的数据目录:应用的程序包名称。 SD卡上可能有一个类似的目录,主要用于拥有大量数据的应用程序。
³通常,文件会临时存储在此处以进行安装/执行。 Google Play,例如将.apk文件下载到此目录,然后再在设备上安装下载的应用程序。

当然,我故意跳过了几个目录。如果您真的想详细介绍,该网站可能不是最合适的地方(因为我们处理最终用户的问题-最终用户通常不会碰这些东西)。在这种情况下,可能会推荐一些地方/资源:

XDA开发人员
关于Android的优秀技术书籍(例如,Andrew Hoog的Android Forensics和Mobile Security,在这里更详细地介绍了这些内容)
我在哪里可以问不是Android发烧友的问题?


评论


除/ cache不是应用程序缓存外,其余部分仍然成立。用于恢复模式下的OTA更新。 / recovery和/ cache均已在A / B设备上删除。

–艾尔凡·拉蒂夫(Irfan Latif)
19年11月12日23:30