[DESCRIPTION]
当修改一些代码时,使用什么编译命令可以最有效率
[Keyword]
编译命令 修改代码 最有效率 快速编译
[SOLUTION]
1: ./mk n(r) kernel; ./mk bootimage;当修改build-in 到kernel相关代码时,要使用此命令,具体文件参考如下:
alps/kernel/
alps/mediatek/platform/mt65xx/kernel/
alps/mediatek/source/kernel/
alps/mediatek/coustom/mt65xx/kernel/
alps/mediatek/coustom/common/kernel/
alps/mediatek/coustom/$porject_name$/kernel
…
2: ./mk n(r) k /module_path 当修改kernel module相关代码时,要使用此命令,具体文件参考如下:
alps/mediatek/platform/mt65xx/kernel/drivers/ccci/
alsp/mediatek/platform/mt65xx/gpu/
……
通常看对应文件夹的Makefile就知道是build in到kernel,还是ko,
obj-m += xxx, 表示build成ko module,
obj-y += xxx, 表示build in到bootimag.
ps: 要特别注意, 如果你new的时候是user版本, 在使用此命令的时候一定要加上 -o TARGET_BUILD_VARIANT=user, 否则会导致将之前new的结果全部删除,
3: ./mk n pl 当修改preloader相关代码时,要使用此命令,具体如下:
alps/mediatek/platform/mt65xx/preloader/
alps/mediatek/source/preloader/
alps/mediatek/coustom/mt65xx/preloader/
alps/mediatek/coustom/common/preloader/
alps/mediatek/coustom/$porject_name$/kernle
……
4: ./mk uboot 当修改uboot相关代码时,要使用此命令,具体如下:
alps/mediatek/platform/mt65xx/uboot/
alps/mediatek/source/uboot/
alps/bootable/bootloader/uboot/
alps/mediatek/coustom/mt65xx/uboot/
alps/mediatek/coustom/common/buoot/
alps/mediatek/coustom/$porject_name$/uboot/
……
5: ./mk systemimage 当修改system相关代码时使用此命令,具体文件目录如下:
alps/frameworks/
alps/packages/
alps/vendor/
alps/hardware/
alps/dalvik/
alsp/external
………..
new完一次后, 如果使用这个命令其实很耗时间, 建议参考6的做法,
6: ./mk mm ./module_path ; 主要build一些modules, 如lib库, native 可执行程序, jar库, jar
apk. 相关文件参考如下:
alps/frameworks/base #可以根据修改的某些文件, 进入更细的目录去build相关库.
alps/frameworks/native/libs/binder/ #native目录下有很多相关的lib库.
alps/frameworks/native/libs/binder/utils/
alps/external #主要是一些native的二进制可执行文件.
ps: build完后可以找到对应的目标文件直接push到手机, 也可以使用./mk snod直接快速打包新的system.img, 然后download.
7: ./mk recoverimage 当修改recover相关代码时使用此命令,具体如下:
alps/bootable/recovery/
alps/mediatek/customer/$project_name$/recovery/
……
8: ./mk factoryimage: 当修改factory相关代码时使用此命令,具体如下:
alps/mediatek/coustom/$project_name$/factory/
alps/mediatek/coustom/common/factory/
alps/mediatek/source/factory/
……
9: ./mk secroimage 当修改secro相关代码时使用此命令,具体如下:
alps/mediatek/source/secro/
alps/mediatek/coustom/$project_name$/secro/