Android File System Hierarchy

This page will contain a replica structure of Android File System

/ : Base system

  • Cache Cache Folder : Used as scratch pad by OS place dex optimized dalvik bitecode
  • Data Contains USER Data Stored as a separate partition in mtdblocks mounted at bootup
    • anr
    • idd
    • system
    • radio
    • property
    • App Application : User installed
    • Data Downloaded, updated and manually installed apps folder for each app named as package name.
    • Local
  • dalivk-cache
  • default.prop Default property settings, values restored from this file on every restart. Changes in this file will not be retained.
  • Dev Device file system pointers
    • tty 1 - 63
    • Null
    • Zero
    • Block Block Devices
      • loop 0-7 Loop back devices
      • mtdblock 0 - 6-8 MTD BLOCKS : Device internal memory
      • Mmcblk0 SDCARD Block Device
  • etc -> /system/etc Soft link to /system/etc Directory
  • Init INIT executable, this is also the place where device nodes are created by listening to uevents
  • init.rc Initial Configuration file : decompressed from ramdisk
  • logo.rle Boot Time Logo
  • Proc
    • Last_kmsg Previous Sessions Kernel message log
    • partitions
    • diskstats
    • Kmsg Kernel Message log simmilar to dmesg in linux
    • Cpuinfo CPU information simmillar to linux
    • config.gz Copy of .config used to compile kernel (optional)
  • Root
  • Sbin Part of Ramdisk Content : This contains various executables required for Bootup
  • Adbd ADB Daemon executable: Responsible for adb shell
  • Sys
    • fs
    • devices
    • dev
    • bus
    • class
    • firmware
    • kernel
    • power
    • module
    • block
    • Test Testing
  • System Main OS System: Stored as a separate partition in mtdblocks mounted at bootup (read-only)
    • App System Apps : Pre installed : Android Specific, Vendor and Carrier Provided Application set. These applications can't be changed without rooting device(till version 4.0 of android)
    • Bin Binary Executables required for operation
    • ??? build.prop File containing Configuration variables used to define various operational parameters
    • Etc Configuration Files for Whole Android System
    • Framework Framework : jar Files which provision the interaction between applications and hardware
    • Fonts Fonts used in display
    • Media Contains Media files ringtone/alarms etc
    • Xbin Excutable Files generally this holds special executables like busybox or toolbox
  • Sdcard SDCARD :removable sdcard directory
  • Mnt
    • ??? sdcard -> /sdcard Link too /sdcard
    • Asec SDCARD Secure area

Does this looks wrong

This is a work in progress Feel free to suggest changed either via issues / pull request @ github or sending email to


  • 21 Sep 2017
    1. Data ported to github
  • 11 Dec 2011
    1. Updated lots of data based on details from and user comments
    2. Not just mouseover text is also available next to folders now.