程序员人生 网站导航

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

栏目:综合技术时间:2015-03-09 08:53:04

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

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

 include $(CLEAR_VARS) 清除LOCAL_PATH 之外的LOCAL _<name>变量,讨厌的是否是全部,是LOCAL_PATH  之外的,这是由于LOCAL_<name> 是全局变量,清除他们可以免冲突,

  LOCAL_MODULE :=hello-jni,这里名字唯1,构建出来的动态库的名字,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利用程序加载


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐