Create imgs (system.img ..etc)
bootloader.img
Android 手機開機時會先載入 Bootloader,之後再由 Bootloader 載入系統本身, 可以初始化硬體設備以及記憶體空間之類的, 總之整各系統的載入是由BootLoader完成的. 然而 bootLoader 是要跟硬體搭配的, 因此不同的硬體會有不同的bootLoader, 因此刷機的話, 千萬不要刷成不同廠商的bootLoader
boot.img:有 Android 要用到的 Linux Kernel (zImage) 以及 ramisk
todo
recovery.img:復原Android系統用的映像檔
在手機的檔案結構為:
recovery/
- 恢復系統的根文件系統, 通常是不直接使用
userdata.img: 保存使用者以及APP的資料
在手機的檔案結構為:
/data/app
- 所有安裝後的APP皆會被放到這裡, 但apk是被拆解成dex以及apk
/data/data
- APP的應用資訊(SharePreference, database ..etc)
system.img 包含整各Android系統文件夾
Linux 的檔案位置
"/home/jerome/WORKING_DIRECTORY/out/target/product/generic/system"
re-package system.img
source build/envsetup.sh
lunch full-eng
make snod
emulator -system ~/WORKING_DIRECTORY/out/target/product/generic/system.img &
The unbuntu will un-zip system.img file to emulator about 10 mintues.. please wait a monent ..
在手機的檔案結構為:
system/app
- 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中。
system/bin
- 这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件。
system/etc
- 从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
system/fonts
- 字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库。
system/framework
- 主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
system/lib
- lib目录中存放的主要是系统底层库,如平台运行时库。
system/media
- 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
system/usr
- 用户文件夹,包含共享、键盘布局、时间区域文件等。
ramdisk.img:Android 的File System
Android 啟動完畢之後, 會加載init、並初始化整個系統檔案結構(init.rc)
在手機的檔案結構為:
./init.trout.rc
./default.prop
./proc
./dev
./init.rc
- 设置一些环境变量
- 创建system、sdcard、data、cache等目录
- 把一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
- 设置一些文件的用户群组、权限
- 设置一些线程参数 6)设置TCP缓存大小
./init
./init.goldfish.rc
./sbin
./sbin/adbd ./system
- system.img 掛載點
./data
- userdata.img 掛載點