標籤:
Android系統編譯後產生三個映像檔案,都是用cpio打包,gzip壓縮的。
- ramdisk.img 檔案系統,包含/system, /data, /bin等目錄。kernel啟動時負責初始化。
- system.img 系統包和庫檔案,掛載到/system目錄
- userdata.img 使用者資料,掛載到/data目錄
Android系統目錄結構
- /init 系統開機檔案
- /system
- app 系統應用安裝目錄
- bin 常用的系統本地命令(二進位),大部分是toolbox的連結(類似於嵌入式Linux中的busybox)
- etc 系統設定檔,如hosts
- font 字型目錄
- framework Java平台架構核心庫,jar包和odex最佳化的檔案
- lib 系統底層共用庫,.so庫檔案
- xbin 不常用的系統管理工具,相當於linux的/sbin
- media
- audio 鈴聲,提示音等音頻檔案, .ogg
- notifications 通知
- ui 介面
- alarms 警告
- ringtones 鈴聲
- usr 使用者檔案夾
- keychars
- keylayout
- share
- srec 配置
- ......
- vendor
- build.prop 系統設定和變更屬性
- /etc --> /system/etc
- /vendor --> /system/vendor
- /dev 存放裝置節點檔案
- /proc 全域系統資訊
- /data 使用者軟體和各種資料
- local/tmp 臨時目錄,無許可權要求
- app 普通程式安裝目錄
- system
- location 其中的location.gps記錄最後的座標,LocationManager.getLastKnownLocation()資料來自此處
- data
- <package_name>
- files Context.getFilesDir() ,Context.openFileOutput() 擷取的目錄,應用安裝目錄下
- cache Context.getCacheDir() 擷取的目錄,應用安裝目錄下,系統會自動在記憶體不足或目錄大小達到特定數值時自動清理。
- shared_pref Context.getSharedPreferences() 建立的preferences檔案(xml)存放目錄
- anr 應用發生ANR(Applicaiton is Not Responding)時,Android將問題點的堆棧寫入到traces.txt檔案中
- location
- gps GPS location provider配置
- property 其中persist.sys.timezone記錄系統時區
- /sdcard -->/storage/emulated/legacy SD卡的FAT32檔案系統掛載到此目錄
- Android
- data
- <package_name> 應用的額外資料,應用卸載時自動刪除。
- files Context.getExternalFilesDir()擷取的目錄。設定->應用->具體應用詳情-> 清除資料 操作對象就是這個目錄。
- cache Context.getExternalCacheDir()擷取的緩衝目錄。設定->應用->具體應用詳情-> 清除緩衝 操作對象就是這個目錄。
lost+found
yaffs檔案系統固有的,類似資源回收筒的檔案夾。
ODEX
從apk中提取出來的可運行檔案,即原apk中classes.dex通過dex最佳化產生的一個單獨存放的dex檔案。啟動應用時不需要再從apk包中提取dex,速度更快。還可以刪除apk包中的dex減少體積。缺點是體積變大,而且升級某個給Odex的應用可能會出現問題。
參考文檔
http://blog.csdn.net/conowen/article/details/7251057
Android系統目錄結構