2022-11-02|閱讀時間 ‧ 約 4 分鐘

Android 中各個Image檔整理

    在Android 編譯成功後,在out/target/product/generic會產生與系統對應的映像檔,分別是ramdisk.img關於root文件系統, system.img關於主要的包及庫, userdata.img關於用戶數據,分別對應的目錄為root, system, data映像檔簡單來說為文件的精準副本,可以透過映像檔刷機、測試功能等等。

    System.img

    位於/system目錄內,包含了Android系統主要的目錄與文件,包含了Android 的 framework層、application層。

    app資料夾包含的是所有的apk包,也就是所有Android的應用程序,也包含自己編譯過的apk包。

    bin資料夾則是Linux系統自帶的組件,或者是系統本身的程序。

    etc資料夾則包含配置的文件與腳本。

    framework資料夾則包含系統運行所需要的jar包,或者lib目錄存放的庫

    usr資料夾則與使用者的共享、時間有關的文件。

    userdata.img

    在/data目錄內,包含所有應用相關的配置文件與使用者的相關資料。

    而在data資料夾內剛編譯完會是空的。

    ramdisk.img

    在/root目錄內,屬於初始時的配置文件,可以用來將root file system mount起來。

    而在root目錄下,在Android啟動後,最初始會啟動init進程,以及兩個腳本文件,分別是init.fs100.rc 與init.c。在剛啟動時,會根據這兩個腳本的內容去執行啟動的工作。

    雖然在編譯過程會生成三部分的內容,但我們也可以將system與data內的所有東西直接放在root目錄內的system與data內,然後直接使用工具做成鏡像。

    參考資料:

    編譯過程詳解:

    打包過程分析:

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.