日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android——4.2.2 文件系统文件夹分析

發布時間:2025/3/15 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android——4.2.2 文件系统文件夹分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? 近期公司要整android內部培訓,分配給我寫個培訓文檔。這里記錄例如以下:



??????????????????????????????????????????????????????????????????? ? ?? ???? 撰寫不易,轉載請注明出處:http://blog.csdn.net/jscese/article/details/40897703


導讀:


這里補充下android執行時的文件系統結構,

相同。資料網上有非常多,僅僅是簡介我常涉及到的,個人觀點。僅供參考~

各個廠商平臺可能會有出入.這里單以我這邊mstar的平臺

以“/”代表文件系統的根文件夾.



???????????????????????????????????????????????????????????????????????????????????——jscese

????????????????????????????????????????????????????????????????????????????????????? ? ? ?2014/11/7





文件系統生成

眼下android編譯出來的鏡像基本都是ext4格式,可用file命令查看,不再是之前的yaffs2,由于之前用的是nand,如今的主流已是emmc,可是在制作android文件系統時掛載的類型就五花八門了,各種都有.

可在系統啟動時/system/core/init/init.c中的main中查看mount類型.

對文件系統的創建語句基本都寫在/system/core/rootdir/init.rc,這個文件語法可參考/system/core/init/readme.txt。交由init.c負責解析運行.當中init.rc還會載入平臺rc運行一些自己的操作:import/init.${ro.hardware}.rc一般的.rc都放在/”文件夾下.

關于init.rc中的語句怎么被運行。這里不多描寫敘述。可另行參考init機制,能夠看到里面非常多對分區以及文件的shell命令,比方mountmkdirsymlink。chmod...

mount上去的文件類型大體有這幾種:

tmpfs devpts proc sysfsrootfs yaffs2 cgroup ext4 debugfs

這些文件系統類型可去維基百科查,每一種都有自己的特性.可在shell終端輸入mount查看掛載情況.

我們通過shell終端看到的文件系統文件夾是終于制作完畢的產物,有的文件文件夾下是掛載的分區,假設改動就是實際改動的nand/emmc上面的內容,有的可能僅僅是制作過程中從分區某個地方copy放在那個文件夾下的。你刪除了。下次重新啟動依然還會存在。這個就要依據詳細情況而推斷了.

這個的生成過程還是非常繁雜的,這里就不一一述說.以下介紹下經常使用到的文件夾文件.

具體可參考:Android——啟動過程具體解釋






/cache

緩沖區文件夾,用于存放暫時文件,眼下我這邊用到的地方就是存放從網絡下載OTA包用于更新.





/data

顧名思義,主要用于存放數據的地方,往下的文件夾都是存放app的相關分類數據.

當中/data/app文件夾下存放的就是用戶安裝的apk文件.

/data/data文件夾下存放的是系統中全部app的數據文件,以apk包名區分,當中會有提交的數據庫以及xml數據文件.









/dev

linux設備文件夾,存放設備節點文件。掛載的是tmpfs格式文件系統,斷電后數據將會消失.android系統上的設備都會在這個文件夾底下創建設備文件,

秉承linux的理念:一切設備皆文件.而且都是能夠通過文件對設備進行操控管理.

當中/dev/block下列出全部emmc存儲設備的全部block









/etc

軟連接指向/system/etc。這個文件夾一般用于存放系統中的各種配置文件。沒什么好說的.




/mnt

外部掛載點文件夾。作為外部存儲設備的掛載點路徑,往下的分支經常使用的包含/mnt/sdcardandroid默認SD卡掛載點.其他的不同平臺可能會有大的差異。比方掛載usb設備的掛載點,我這邊掛載在/mnt/usb







/proc

一個虛擬的文件系統,由kernel提供。不是實際的存儲空間,存在kenel管理的內存中,應用層可通過/proc下的文件動態獲取kernel中系統進程(process)的執行信息.也可通過/proc/sys文件夾下可寫文件改動kernel執行狀態。實現與kernel的交互.

init.c中掛載到/proc文件上.

當中比較經常使用的獲取文件:/proc/cpuinfo/proc/meminfo /proc/mounts /proc/version ...

顧名思義.能夠在shell使用cat*查看

設置/proc/sys/kernel狀態值。init.rc中就有設置。能夠參考。大部分設置在/proc/sys/kernel

shell下可使用echo* > * 重定向設置狀態值.





/sbin

存放root用戶可運行文件的文件夾。一般存在這以下的就是adbd





/sdcard

軟連接上面說到的/mnt/sdcardSD卡的掛載點






/sys

類似/proc。也是虛擬的文件系統.

差別在于這個文件系統提供的是關乎kernel中的設備驅動.

/sys/devices下就是已經注冊到總線上的全部物理設備.

/sys/dev以下是blockchar設備的節點文件,鏈接到真實設備.

/sys/module這里能夠看已經insmodkerneldevice driver

/proc下一樣可使用cat查看

/sys/kernel下的是可寫的設備值。同/proc一樣操作寫入控制.






/system

這個是android系統最關鍵的文件文件夾了,能夠在rc中看到掛載的是system分區,也就是源代碼編譯出來的system.img鏡像,基本的執行機制也就全在這個文件夾下了,默認是掛載成ext4僅僅讀.

/system/app系統預置的apk存放路徑,僅僅有root才有寫權限

/sysem/bin這個以下所有是android系統可運行文件

/system/build.prop編譯過程中收集的各種屬性

/system/etc上面有提到。配置文件

/system/fonts字庫

/system/framework以下全是jar也就是源代碼中frameworks編譯出來的系統框架,核心所在

/system/lib存放差點兒全部編譯出來的動態庫(.so)

/system/vendor存放一些廠商的東西一般有applib之類的

這幾個應該算是最重要的,其他的文件夾不一一列出.

假設想要改動/system以下的內容,可在shell終端輸入:mount-o remount rw /system

重掛載為可讀寫.



/tmp

暫時文件








轉載于:https://www.cnblogs.com/gcczhongduan/p/5178967.html

總結

以上是生活随笔為你收集整理的Android——4.2.2 文件系统文件夹分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。