Android文件夹层次结构


20

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


2
相关,对于Jellybean(4.1 +)/ data / user目录中存储了哪种数据?
GAThrawn

Answers:


38

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

  • 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到这里):它们在恢复时被擦除了,而其他分区通常不受影响。

至于所包含的目录,我将再次集中选择一个目录。如果没有将设备植根,您在这里无法触摸的大多数事物。

┌────────────────────┬──────────────────────────────────────────────┐  
| 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缓存的详细信息,请参阅:
每个应用程序都使用应用程序的包名称在此处分配了自己的数据目录。SD卡上可能有一个类似的目录,主要用于拥有大量数据的应用程序。
³通常,文件会临时存储在此处以进行安装/执行。Google Play例如将.apk文件下载到此目录,然后再在设备上安装下载的应用


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


其余部分仍然适用,除非/cache不是应用程序缓存。用于恢复模式下的OTA更新。/recovery并且/cache都已在A / B设备上删除。
Irfan Latif
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.