Android系统文件目录结构

忍不住整理了一份自己喜欢的阅读风格
层次分明的Android文件目录,清晰的结构帮你更好的理解Android系统
有补充欢迎评论

|-3rdmodemnvm
|-3rdmodemnvmbkp
|-acct                      //系统回收站
    |-uid
    |-uid_0
|-bin
|-cache                     //缓存
|-config                    //配置
|-cust
    |-etc
    |-global
    |-hw
    |-xml
|-data                      //【内部存储】 --> Environment.getDataDirectory()
    |-app                   //存放用户安装的软件
    |-data                  //存放用户安装的所有程序,包含/system/app 和 /data/app 和 /mnt/asec中装的软件
        |-android
        |-com.test.demo     //应用程序的内部存储目录,卸载时自动清除
            |-app_textures  // --> Context.getDir(String name, int mode)
            |-app_webview   // --> Context.getDir(String name, int mode)
            |-cache         //缓存,不需要额外的权限;当该文件夹超额时,系统将自动删除该目录中的文件   --> context.getCacheDir()
            |-code_cache
            |-databases     //数据库
            |-files         //不需要额外的权限      --> context.getFilesDir()
                |-file1     //  --> Context.getFileStreamPath("file1")
            |-shared_prefs  //sharedPrefrences配置文件
                |-.xml 配置文件
            |-system        //安装app时的注册表配置  
    |-local
        |-tmp
    |-user
        |-0
            |-com.test.demo     //文件系统目录的绝对路径,所有属于该应用程序的私有文件都存储在文件系统中 (minsdk 21) --> context.getDataDir()
                |-cache         //
                |-code_cache    //保存应用程序代码缓存文件的目录路径 (minsdk 21) --> context.getCodeCacheDir()
                |-databases     //
                |-files         //
                |-no_backup     //不会自动备份到远程存储的应用程序文件的路径 (minsdk 21) --> context.getNoBackupFilesDir()
|-dev                       //设备文件,Linux系统常规文件夹,里面的文件很多都是设备模拟的文件系统
    |-blkio
        |-background
        |-foreground
    |-block
    |-input
|-dload
|-eng
|-etc               //系统配置文件
    |-bluetooth
    |-init  
    |-logo
|-log
|-mnt               //挂载点
|-proc              //运行时文件
|-product
    |-app
    |-etc
    |-lib
    |-media
|-res
|-root
|-sdcard
    |-amap
    |-Android
        |-data      //应用程序包 同上面的/data/data/com.test.demo
        |-media
    |-dcim
        |-camera    //照片以及视频
    |-download      //下载的文件,存放.apk包
    |-logo
    |-movies
    |-musics
    |-pictures      //屏幕截屏
    |-sandbox
|-storage           //【外部存储】
    |-sdcard0       //文件管理器看到的文件 下面的目录跟 /sdcard/目录下的文件目录一样   --> Environment.getExternalStorageDirectory()
        |-Android   //
            |-data  //同上面的/data/data/
                |- com.test.demo
                    |-cache         //系统不会时刻监测这里的数据,有可能不会自动清除   --> context.getExternalCacheDir()
                    |-files         // --> context.getExternalFilesDir
                        |-file1     // --> Context.getExternalFilesDir("file1")
            |-obb   //      --> context.getObbDir()
        |-DCIM      //      --> Environment.getExternalStoragePublicDirectory("DCIM")
        |-backups
        |-baidu
        |-Download 
    |-self
|-sys               //Linux 内核文件
|-system            // 包含系统的framework、组件、字体播放器等系统自带的资源配置;常用开发工具tcpdump/sqlite3
    |-app           //系统自带的应用程序, .apk包
    |-bin           //存放用户常用的工具程序
    |-build.prop    //记录了系统的设置和改变,类似于/etc中的文件
    |-etc           //存放了系统中几乎所有的配置文件,根目录下的/etc链结于此,比如APN接入点设置等核心配置,Bluetooth...
    |-modules       //存放内核模块(主要是fs和net)和模块配置文件
    |-fonts         //字体库
    |-framework     //.jar包,系统核心文件
    |-init.rc       //一个初始化脚本,用于将/system/modules和/system/xbin挂载为cramfs,避免系统被无意破坏
    |-lib           //.so包,系统底层类库,框架层的实现文件
    |-usr           //用户文件夹,包含共享、键盘布局、时间区域文件等
    |-media         //.ogg音频文件
        |-audio     //系统默认铃声
            |-alarms            //闹钟
            |-animationsounds   //开关机动画
            |-notificatinos     //短信或提示音
            |-rignstones        //来电铃声
            |-ui                //界面音效,比如键盘敲击声
        |-video      //
    |-xbin          //系统管理工具        
    |-theme
|-vendor
|-version
HUAWEI LYA-ALOO