Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android文件系統深入剖析

Android文件系統深入剖析

編輯:初級開發

用過Linux的朋友可能對開源的系統有一個非常好的印象。那麼在日益成熟的手機操作系統中,有沒有一款像Linux一樣的開源系統呢?谷歌公司就退出了一款基於Linux平台的Android 操作系統來滿足人們的需求。在這裡大家可以先來了解一下android文件系統的相關內容。

  1、android文件系統的結構

  android源碼編譯後得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系統,system.img包括了主要的包、庫等文件,userdata.img包括了一些用戶數據,emulator加載這3個映像文件後,會把 system和 userdata分別加載到 ramdisk文件系統中的system和 userdata目錄下。因此,我們可以把ramdisk.img裡的所有文件復制出來,system.img和userdata.img分別解壓到 ramdisk文件系統中的system和 userdata目錄下。

  2、分離android文件系統出來

  system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip壓縮的,可以通過file命令驗證:

  1.file ramdisk.img

  輸出:

  2.ramdisk.img: gzip compressed data, from Unix,

  last modifIEd: Wed Mar 18 17:16:10 2009

  Android源碼編譯後除了生成system.img,userdata.img之外還生成system和 userdata文件夾,因此不需要解壓它們。android源碼編譯後還生成root文件夾,其實root下的文件與 ramdisk.img 裡的文件是一樣的,不過這裡還是介紹怎樣把 ramdisk.img解壓出來:

  將ramdisk.img復制一份到任何其他目錄下,將其名稱改為ramdisk.img.gz,並使用命令

  3.gunzip ramdisk.img.gz

  然後新建一個文件夾,叫ramdisk吧,進入,輸入命令

  4.cpio -i -F ../ramdisk.img

  這下,你就能看見並操作ramdisk裡面的內容了。

  然後把android源碼編譯後生成的system和 userdata裡的文件復制到 ramdisk/system和 ramdisk/userdata下。這樣就得到一個文件系統了。

  3、使用網絡文件系統方式掛載android文件系統

  因此,我們需要建立/nfsroot目錄,再建立/nfsroot/Androidfs目錄,把剛才的Android文件系統改名為Androidfs,並鏈接到/nfsroot/androidfs

  4、android文件系統內核引導文件系統

  Android內核掛載/nfsroot/androidfs之後,根據init.rc,init.goldfish.rc來初始化並裝載系統庫、程序等直到開機完成。init.rc腳本包括了文件系統初始化、裝載的許多過程。init.rc的工作主要是:

  1)設置一些環境變量

  2)創建system、sdcard、data、cache等目錄

  3)把一些文件系統mount到一些目錄去,如,mount tmpfs tmpfs /sqlite_stmt_journals

  4)設置一些文件的用戶群組、權限

  5)設置一些線程參數

  6)設置TCP緩存大小

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved