在Android的根目录(/)上,每个文件夹的用途是什么?我想学习文件夹层次结构。我想知道Android 2.3和4.x之间的区别,如果它们在“ /”中有不同的文件夹。
在Android的根目录(/)上,每个文件夹的用途是什么?我想学习文件夹层次结构。我想知道Android 2.3和4.x之间的区别,如果它们在“ /”中有不同的文件夹。
Answers:
首先,您需要了解两个事实:
因此,作为起点,我进一步建议使用文件系统标签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缓存的详细信息,请参阅:dalvik²
每个应用程序都使用应用程序的包名称在此处分配了自己的数据目录。SD卡上可能有一个类似的目录,主要用于拥有大量数据的应用程序。
³通常,文件会临时存储在此处以进行安装/执行。Google Play例如将.apk
文件下载到此目录,然后再在设备上安装下载的应用
当然,我故意跳过了几个目录。如果您真的想详细介绍,该网站可能不是最合适的地方(因为我们处理最终用户的问题-最终用户通常不会碰这些东西)。在这种情况下,可能会建议使用多个场所/资源:
/cache
不是应用程序缓存。用于恢复模式下的OTA更新。/recovery
并且/cache
都已在A / B设备上删除。