标签:
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应用程序加载
标签:
原文地址:http://blog.csdn.net/renfujiang/article/details/44067777