前面文章讲了NDK环境的配置,这篇文章将介绍NDK在编译过程中会使用到的Android.mk文件。
1.Android.mk文件简介
我们可以在Android源码的很多目录下看到Android.mk文件,Android.mk文件向系统描绘编译的一些规则,这样可以通过一些简单的命令,完成代码的组织和编译工作。Android.mk是GNU Makefile的一小部分,编译系统会解析该文件。在Android.mk文件中,可以定义一个或多个模块,也可以复用其他已经定义好的模块。简单概括来说,Android.mk文件可以更好的组织管理代码,让编译系统更好的工作。
2.Android.mk文件实例
接下来介绍一个在JNI实例中,用到的一个Android.mk文件,Android.mk的文件写法如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := JNITest
LOCAL_SRC_FILES := com_example_testndk_JNITest.c
include $(BUILD_SHARED_LIBRARY)
其中LOCAL_PATH := $(call my-dir) 用于在开发树中,查到源代码。"my-dir"是系统宏函数,用于返回当前路径,即包含Android.mk文件的路径。
include $(CLEAR_VARS)用于清除一些编译系统预定义的LOCAL_X