android.mk编写要点

本文详细介绍了Android.mk配置文件的编写方法,包括如何设置模块名称、源文件路径等关键参数,并通过一个具体示例展示了如何创建一个测试模块。
  1. LOCAL_PATH := $(call my-dir) //获取当前路径
  2. include $(CLEAR_VARS) //清除变量
  3. LOCAL_JAVA_LIBRARIES := xxx //引用动态java库xxx
  4. LOCAL_STATIC_JAVA_LIBRARIES := xxx //引用静态java库xxx
  5. LOCAL_SRC_FILES := $(call all-java-files-under, src) //设置java源代码文件列表为src目录下所有java文件
  6. LOCAL_PACKAGE_NAME := xxx //设置目标包名称为xxx(编译目标为apk时使用),可在PRODUCT_PACKAGES列表中加入xxx表示编译该包
  7. LOCAL_MODULE_TAGS := tests //表示编译目标为测试文件,编译之后目标会被放入到/data/app/目录下
  8. include $(BUILD_PACKAGE) //编译应用程序包(即apk文件)
  9. LOCAL_MODULE_TAGS := optional //表示该模块可选,需要在PRODUCT_PACKAGES列表中加入相应的名称才会被编译。编译之后目标会被放入到/system/app/目录下。
  10. LOCAL_MODULE := xxx //设置目标模块名称为xxx(复制源文件到目标文件夹时使用),可在PRODUCT_PACKAGES列表中加入xxx表示编译该模块
  11. LOCAL_SRC_FILES := xxx //设置模块的源文件路径
  12. LOCAL_MODULE_PATH := xxx //设置模块的目标输出路径,例如LOCAL_MODULE_PATH := $(TARGET_OUT)/../data/表示输出到data目录。注意这里$(TARGET_OUT)表示的是system/目录。
  13. include $(BUILD_PREBUILT) //编译模块

例子程序:

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := test.c
LOCAL_MODULE := hello_test
include $(BUILD_EXECUTABLE)


LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) #----------------------------------------------------------- # mk include $(TOP)/$(MTK_PATH_SOURCE)/hardware/mtkcam/mtkcam.mk include $(TOP)/$(MTK_PATH_SOURCE)/hardware/mtkcam/oplus/utils/CustomerData/Customer.mk #include $(TOP)/$(MTK_PATH_SOURCE)/hardware/mtkcam/utils/zoomRatioContainer/Customer.mk include $(TOP)/$(MTK_PATH_SOURCE)/hardware/mtkcam3/oplus/main/hal/device/3.x/policy/oplusDeviceSessionPolicy.mk include $(TOP)/vendor/mediatek/proprietary/hardware/mtkcam/oplus/utils/hwconfigurationutil/Customer.mk include $(TOP)/vendor/mediatek/proprietary/hardware/mtkcam/oplus/utils/CustomerData/Customer.mk LOCAL_C_INCLUDES += $(TOP)/vendor/mediatek/proprietary/hardware/mtkcam3/oplus/main/hal/device/3.x/policy LOCAL_C_INCLUDES += $(TOP)/vendor/mediatek/proprietary/hardware LOCAL_C_INCLUDES += $(TOP)/vendor/mediatek/proprietary/hardware/mtkcam3/include LOCAL_C_INCLUDES += $(TOP)/vendor/mediatek/proprietary/hardware/mtkcam/include LOCAL_C_INCLUDES += $(TOP)/frameworks/native/libs/nativewindow/include LOCAL_C_INCLUDES += $(TOP)/frameworks/native/libs/nativebase/include LOCAL_C_INCLUDES += $(TOP)/frameworks/native/libs/arect/include #----------------------------------------------------------- #----------------------------------------------------------- # src file LOCAL_SRC_FILES := ocam_zoom_latency.cpp \ #----------------------------------------------------------- LOCAL_C_INCLUDES += $(MTKCAM_C_INCLUDES) LOCAL_C_INCLUDES += $(TOP)/$(MTK_PATH_SOURCE)/hardware/mtkcam3/include LOCAL_C_INCLUDES += $(TOP)/$(MTK_PATH_SOURCE)/hardware/mtkcam/include LOCAL_C_INCLUDES += $(LOCAL_PATH)/inc LOCAL_C_INCLUDES += system/media/camera/include LOCAL_C_INCLUDES += $(TOP)/hardware/libhardware/include LOCAL_SHARED_LIBRARIES += libcustomer_cameradata LOCAL_HEADER_LIBRARIES += libmtkcam_hal_custom_utils_headers #----------------------------------------------------------- # headers LOCAL_HEADER_LIBRARIES += libmtkcam_core_headers \ libutils_headers \ liblog_headers \ libcameracustom_headers \ #----------------------------------------------------------- #----------------------------------------------------------- # share lib LOCAL_SHARED_LIBRARIES += liblog \ libutils \ libcutils \ libmtkcam_modulehelper \ libmtkcam_stdutils \ libmtkcam_pipeline \ libmtkcam_metadata \ libmtkcam_metastore \ libmtkcam_streamutils \ libmtkcam_imgbuf_v2 \ libmtkcam_ulog \ libmtkcam_devicesessionpolicy \ #----------------------------------------------------------- #----------------------------------------------------------- # static lib LOCAL_STATIC_LIBRARIES += # LOCAL_WHOLE_STATIC_LIBRARIES += #----------------------------------------------------------- #----------------------------------------------------------- # other LOCAL_CFLAGS += $(MTKCAM_CFLAGS) #----------------------------------------------------------- #----------------------------------------------------------- # module info LOCAL_MODULE := liboplus.ocam.zoomlatency LOCAL_PROPRIETARY_MODULE := true LOCAL_MODULE_OWNER := mtk LOCAL_MODULE_TAGS := optional include $(MTKCAM_STATIC_LIBRARY) #----------------------------------------------------------- 转换成Andriod.bp文件
最新发布
11-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值