
一、这个是 system 目录 的执行操作repo init -u git://10.101.0.250/manifest -b t-alps-release-b0.mp1.rc-wv-mt6769_V6753L -m t-alps-release-b0.mp1.rc-wv-mt6769_V6753L.xml --depth 1关键字 代表成功了。执行 repo sync -c这个就是代表代码拉成功了在然后就是执行这个命令-------》./zprojects/envsetup.sh YJT_MT6769 userdebug------》这个命令的意思就是 ------》选好项目准备好编译环境还不是编译这个命令执行-------》./zprojects/envsetup.sh YJT_MT6769 userdebug ------》完成后的状态。这个是在目录中修改了代码等待执行编译命令的验证。修改代码后然后进行验证执行编译命令. zprojects/envsetup.sh YJT_MT6769 userdebug这个属于全量编译命令在进行刷机验证。重要提示修改代码后然后进行验证执行编译命令这次只是单单在 System 的目录下面执行命令编译 vendor目录 就不用在执行编译了因为在拉代码第一次下来的时候分别对 System Vendor 目录进行了第一次的编译后来的修改代码什么的只需要在对应的 System 目录下面执行编译命令Vendor 目录下面就不用执行编译命令了Vendor目录一般就只是拉代码第一次下来的时候进行编译一次后期就不用在编译了二、这个是 vendor 目录 的执行操作repo init -u git://10.101.0.250/manifest -b t-alps-release-v0.mp1.rc-wv-mt6769_V6753L -m t-alps-release-v0.mp1.rc-wv-mt6769_V6753L.xml --depth 1关键字 代表成功了。执行 repo sync -c这个就是代表代码拉成功了在然后就是执行这个命令-------》./zprojects/envsetup.sh YJT_MT6769 userdebug------》这个命令的意思就是 ------》选好项目准备好编译环境还不是编译这个命令执行-------》./zprojects/envsetup.sh YJT_MT6769 userdebug ------》完成后的状态。三、总结# 1.初始化环境只是配置不生成镜像 ./zprojects/envsetup.sh YJT_MT6769 userdebug # 2.执行编译真正生成一堆img镜像文件 ./build.sh第 1 步初始化编译环境你之前敲的命令./zprojects/envsetup.sh YJT_MT6769 userdebug这一步不编译代码只是告诉编译器 我要编译哪个机型YJT_MT6769、什么版本userdebug、用 MTK 的配置。设置一堆环境变量让后面编译器知道去哪里找头文件、工具链。类比打开软件选好项目模板还没开始干活。第 2 步执行编译真正干活生成镜像./build.sh # 或者 make -j16编译器做三件大事编译源码把 C/C/Java 源代码编译成机器能识别的二进制程序、so 库、apk打包按照安卓分区规则把编译好的文件封装成一个个.img镜像文件输出到 out 目录全部产物放到out/target/product/YJT_MT6769/这里会产出system.img、vendor.img、boot.img、recovery.img等镜像。⚠️注意编译完源码文件夹本身不会变化所有新产物全部在out文件夹。你改完源码必须重新编译out 才会生成新的 img。类比修改菜谱 → 厨师重新做菜做好的盒饭img放在 out 文件夹。第 3 步把镜像烧录到板子板子内部有一块存储芯片Flash相当于板子的硬盘它被划分成多个独立分区system、vendor、boot、userdata。烧录工具MTK 的 flash 工具 / SP Flash Tool做的事读取电脑 out 目录下的system.img将这个镜像文件写入板子的 system 分区把vendor.img写入板子 vendor 分区boot.img写入 boot 分区内核开机必备。重点 烧录就是把电脑上的 img 文件拷贝写入板子的存储芯片。 烧录完成之后板子里面才拥有完整的安卓系统。