1. Android 分區: 2. Android各個分區的作用: 2.1 modem分區 實現手機必需的通信功能,大家通常所的刷RADIO就是刷寫modem分區,在所有適配的ROM中這部分是不動,否則會造成通話不穩定 2.2 bootloader分區 針對高通而言,bootloader分區的內容為 ...
1. Android 分區:
2. Android各個分區的作用:
2.1 modem分區
實現手機必需的通信功能,大家通常所的刷RADIO就是刷寫modem分區,在所有適配的ROM中這部分是不動,否則會造成通話不穩定
2.2 bootloader分區
針對高通而言,bootloader分區的內容為lk代碼;lk代碼為bootloader中的第二階段啟動;第一階段的bootloader為固件上的boot_image中的內容;
2.3 recovery分區
recovery是android定義的一個標準刷機協議。recovery分區實際上是一個簡單的Linux系統,當內核啟動完畢後,開始執行第一個程式init。過recovery程式,用戶可以執行清除數據,安裝刷機包等操作。一般的手機廠商都提供一個簡單的recovery刷機,而大名鼎鼎的CWM Recovery就是一個加入了很多增強功能的recovery,要想用上CWM Recovery前提是recovery分區可以被刷寫。大家在論壇上看到的解鎖bootloader,通常指的就是解鎖recovery或fastboot,允許刷寫recovery分區,這樣大家就可以用上喜愛的CWM Recovery了。
2.4 ramdisk分區
作為根文件系統分區;
2.5 system分區
下麵結合這張圖來介紹system分區的主要目錄內容:
system/app
: app目錄下存放的是核心應用,也就是大家熟知的系統APP,這些系統自帶的程式是不能簡單的卸載的,要通過一些特殊的方式才能刪除(大家熟悉的一種方法是用RE文件管理器)。
system/lib
: lib目錄下存放的是組成JNI層,Dalvik虛擬機,本地庫,HAL層和廠家適配層的所有動態鏈接庫(.so文件)。
system/framework
: 該目錄下存放的是框架層的JAR包,其中對MIUI移植來說有3個最重要的JAR包(framework.jar, android.policy.jar, services.jar)。後續的文章會重點介紹這3個包。
system/fonts
: 該目錄下存放的是系統預設的字體文件。
system/media
:該目錄下存放的是系統所使用的各種媒體文件,比如說開機音樂,動畫,壁紙文件等。不同的手機該目錄的組織方式可能不一樣。如何修改這些文件請參考網上對應機型形形色色的教程,這裡不再贅敘。
system/bin
: 該目錄下存放的是一些可執行文件,基本上是由C/C++編寫的。其中有一個重要的命令叫app_process下一節單獨介紹。
system/xbin
: 該目錄下存放的是一些擴展的可執行文件,既該目錄可以為空。大家常用的busybox就放在該目錄下。Busybox所建立的各種符號鏈接命令都是放在該目錄。
system/build.prop
: build.prop和上節說得根文件系統中的default.prop文件格式一樣,都稱為屬性配置文件。它們都定義了一些屬性值,代碼可以讀取或者修改這些屬性值。屬性值有一些命名規範:
ro開頭的表示只讀屬性,即這些屬性的值代碼是無法修改的。
persist開頭的表示這些屬性值會保存在文件中,這樣重新啟動之後這些值還保留。
其它的屬性一般以所屬的類別開頭,這些屬性是可讀可寫的,但是對它們的修改重啟之後不會保留。
很多ROM製作者都會修改一下build.prop信息,裡面的一些以ro.build開頭的屬性就是你在手機設置中的關於手機里看到的。可以通過修改build.prop文件來將這個ROM打上自己的印記(XXX所修改)。我見過一個只是刪了system/app的一些程式,然後修改build.prop中的ro.build.display.id和ro.build.version.incremental中的兩個屬性值打上自己的大名的ROM。
system/etc
: 該目錄存放一些配置文件,和屬性配置文件不一樣,這下麵的配置文件可能稍微沒那麼的有規律。一般來說,一些腳本程式,還有大家所熟悉GPS配置文件(gps.conf)和APN配置文件(apns-conf.xml)放在這個目錄。像HTC將相機特效所使用的一些文件也放在這個目錄下。
2.6 data和cache分區
當我們開機進入桌面程式後,一般來說我們都會下載安裝一些APP,這些APP都安裝在data/app目錄下。所有的Android程式生成的數據基本上都保存在data/data目錄下。wipe data實質上就是格式化data分區,這樣我們安裝的所有APP和程式數據就都丟失了。
cache分區從名字上來看是用來緩存一些文件的,比如說一些音樂下載的臨時文件,或者下載管理下載的內容基本上放在這個分區。
3. Android分區大小修改:
一般在vendor/qcom/non-hlos/MSM8953.LA.2.0/common/config/partition.xml
和固件中的device/qcom/xxx_8937/BoardConfig.mk
中;
`