[TOC]
# 編譯命令
~~~
/home/shrimp/fireprime/
$ sudo . build.sh
$ sudo make -j8
~~~
最后出現
~~~
#### make completed successfully (01:05:07 (hh:mm:ss)) ####
~~~
編譯成功
# 目標構建模式
目標構建模式有三種,分別為用戶模式user、用戶調試模式userdebug和工程模式eng
>[info] 默認目標構建模式為 **userdebug**
* 用戶模式user
* 僅安裝標簽為user的模塊
* 設定屬性 ro.secure=1,打開安全檢查功能
* 設定屬性 ro.debuggable=0,關閉應用調試功能
* 默認關閉 adb 功能
* 打開 Proguard 混淆器
* 打開 DEXPREOPT 預先編譯優化
* 用戶調試模式userdebug
* 安裝標簽為 user、debug 的模塊
* 設定屬性 ro.secure=1,打開安全檢查功能
* 設定屬性 ro.debuggable=1,啟用應用調試功能
* 默認打開 adb 功能
* 打開 Proguard 混淆器
* 打開 DEXPREOPT 預先編譯優化
* 工程模式eng
* 安裝標簽為 user、debug、eng 的模塊
* 設定屬性 ro.secure=0,關閉安全檢查功能
* 設定屬性 ro.debuggable=1,啟用應用調試功能
* 設定屬性 ro.kernel.android.checkjni=1,啟用 JNI 調用檢查
* 默認打開 adb 功能
* 關閉 Proguard 混淆器
* 關閉 DEXPREOPT 預先編譯優化
# 指定目標構建模式
在`make`命令中加入參數
~~~
$ sudo make -j8 PRODUCT-rk312x-user
$ sudo make -j8 PRODUCT-rk312x-userdebug
$ sudo make -j8 PRODUCT-rk312x-eng
~~~
# 打包映像
~~~
$ sudo ./mkimage.sh
~~~
這將重新打包 boot.img 和 system.img, 并將其它相關的映像文件拷貝到目錄 `rockdev/Image-rk312x/` 中,包括了:
* boot.img :Android 的初始文件映像,負責初始化并加載 system 分區
* kernel.img :內核映像
* misc.img :misc 分區映像,負責啟動模式切換和急救模式的參數傳遞
* recovery.img :急救模式映像
* resource.img :資源映像,內含開機圖片和內核的設備樹信息
* system.img :Android 的 system 分區映像,ext4 文件系統格式