问题
在开发中碰到一个需要编译时拷贝文件到out指定目录中的问题。在不了解编译系统中一些路径对应的变量值非常不方便。所以花了一点时间查找到了部分变量名以及对应的值。
方法
如果大家没有找到对应的变量名的值,可以尝试如下方法:
选择一个模块的android.mk文件,在里面添加:
$(warning "TARGET_EXTRA_DATA_PATH is $(TARGET_EXTRA_DATA_PATH)")当你编译这个模块的时候,就会在控制台打印出这个值,就不用做全局搜索那么费时了。
常用变量值
|
TARGET_OUT |
out/target/product/konka6582_i121_wt_l/system |
|
TARGET_ROOT_OUT |
out/target/product/konka6582_i121_wt_l/root |
|
MTK_ROOT |
vendor/mediatek/proprietary/ |
|
MTK_PATH_CUSTOM |
vendor/mediatek/proprietary/custom/konka6582_i121_wt_l |
|
TARGET_PRODUCT |
full_konka6582_i121_wt_l |
|
GENERIC_CUSTOM_PATH |
vendor/mediatek/proprietary/custom/generic/factory |
|
TARGET_OUT_VENDOR |
out/target/product/konka6582_i121_wt_l/system/vendor |
|
TARGET_OUT_OEM |
out/target/product/konka6582_i121_wt_l/oem |
|
TARGET_OUT_DATA |
out/target/product/konka6582_i121_wt_l/data |
makefile应用小技巧
$(shell mkdir -p $(TARG_DIR))
循环创建TARG_DIR全路径上的文件,也即是会递归创建该路径不存在的文件。-p表示会递归创建路径上的文件夹。
$(shell cp -rf $(LOCAL_PATH)/media/mls/* $(TARG_DIR))
类似$(shell cp -rf srcPath destPath)。将源文件路径的内容拷贝到目的文件中,并不会覆盖目标文件这个文件夹。
本文介绍了如何在开发中解决编译时将文件拷贝到out指定目录的问题,通过使用特定的makefile指令来获取路径变量信息,简化了全局搜索过程。同时提供了常用变量名及其对应解释,便于开发者快速定位和理解。
449

被折叠的 条评论
为什么被折叠?



