Android现在JNI相关的代码编译成so主要有两种方式,一种是传统的ndk-build,还有就是CMakeLists.txt,接下来总结下Android.mk、Application.mk、CMakeLists.txt文件的语法。
Android.mk
-
配置环境变量,定义当前模块的相对路径
LOCAL_PATH := $(call my-dir)
-
清空当前环境变量,除 LOCAL_PATH外的所有环境变量
include $(CLEAR_VARS)
-
编译生成的目标文件的文件名
LOCAL_MODULE := test
-
编译该模块所需的源文件,多个源文件使用连接符 “” 连接
LOCAL_SRC_FILES := test.c
-
编译所生成的目标文件的格式
include $(BUILD_EXECUTABLE) 二进制可执行文件 include $(SHARED_LIBRARIES) 动态库文件 include $(STATIC_LIBRARY) 静态库文件 include $(JAVA_LIBRARIES) jar包 include $(PACKAGE) apk
-
外部头文件路径申明