[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 文件系统格式