Android.mk 实例详解

1. Android.mk实例
LOCAL_PATH:= $(call my-dir)     	#位于最开始,用来为定位源文件的位置$(call my-dir)的作用就是返回当前目录的路径。
include $(CLEAR_VARS)           		#清除一些变量的值,但是LOCAL_PATH除外。
LOCAL_MODULE := fp_identify     	#用来指定当前待编译模块的名称。
LOCAL_SRC_FILES := libfp_identify.so  #第三方库
include $(PREBUILT_SHARED_LIBRARY)  #表示引用第三方库

include $(CLEAR_VARS)
LOCAL_SRC_FILES := com_FingerMechine_FingerMechine.c  	#用来指定参与编译的源代码文件
LDFLAGS = -llog -shared 								#加上Log功能
#LOCAL_CFLAGS := -DANDROID    
#LOCAL_CFLAGS += -Wno-sequence-point -Wno-extra

LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include     		#指定头文件的路径
LOCAL_MODULE:= fp_jni_module
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog    			#引用外部库文件,-L指定该lib文件的存放路径
#LOCAL_SHARED_LIBRARIES:=liblog libcutils
LOCAL_SHARED_LIBRARIES := libfp_identify     			#在顶层.mk中写入引入的第三方库
include $(BUILD_SHARED_LIBRARY)						#编译生成动态库

include $(CLEAR_VARS)
LOCAL_SRC_FILES := com_LEDController_Gpio.c
LDFLAGS = -llog -shared 
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_MODULE:= gpio_jni_module
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog			#表示告诉链接器生成的模块要在加载时刻链接到/system/usr/lib/liblog.so 
include $(BUILD_SHARED_LIBRARY)        	 				#用来指示将当前模块编译为共享库,加前缀lib,后缀.so

2、定义多个Android.mk文件。
有的时候,需要编译的模块比较多,我们可能会将对应的模块放置在相应的目录中,这样,我们可以在每个目录中定义对应的Android.mk文件(类似于上面的写法),最后,在根目录放置一个Android.mk文件,内容如下:
   include $(call all-subdir-makefiles) 
只需要这一行就可以了,它的作用就是包含所有子目录中的Android.mk文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值