深入,全面正确的理解Android.mk

  Android.mk是NDK项目的必备组件,但是这里面的语法并不是那么好理解,因为官网上并没有说。

 LOCAL_PATH := $(call my-dir)  在Android.mk文件的第一句,必须有,宏功能,返回当前目录。

 include $(CLEAR_VARS) 清除了LOCAL_PATH 以外的LOCAL _<name>变量,讨厌的是不是全部,是LOCAL_PATH  以外的,这是因为LOCAL_<name> 是全局变量,清除他们可以避免冲突,

  LOCAL_MODULE :=hello-jni,这里名字唯一,构建出来的动态库的名字,LOCAL_SRC_FILE := hello-jni.c 构建的C源文件,这是的多个源文件用空格分开。

 include $(BUILD_SHARED_LIBRARY),build出来的是 lib$(LOCAL_MODUL).so,include$(BUILD_STATIC_LIBRARY),build 出来的,静态库保证代码的模块化,静态库用来构建动态库。lib$(LOCAL_MODUL).a,include$(PREBUILD_LIBRARY),LOCAL_SRC_FILE 是编译好的so库,例如 foo/libfoo.so。

include $(BUILD_EXECUTABLE) build 独立的可执行文件,这些文件可以不需要打包成apk就可以复制到Android设备上的常规linux程序可以直接运行,不用通过java应用程序加载


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值