如何编译生成一个Android.mk文件完整代码
时间: 2023-11-20 22:06:23 浏览: 206
一个完整的 Android.mk 文件通常包括以下几个部分:
1. 定义变量和模块名
```
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := my_module
```
2. 添加源码文件
```
LOCAL_SRC_FILES := \
file1.cpp \
file2.cpp
```
3. 添加头文件路径
```
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
```
4. 添加依赖库
```
LOCAL_LDLIBS += -llog -lz -lm
```
5. 指定编译选项
```
LOCAL_CPPFLAGS := -std=c++11 -fexceptions -frtti
```
6. 指定编译器和编译器选项
```
LOCAL_CLANG := true
LOCAL_CLANG_CXX_STL := c++_shared
LOCAL_CFLAGS := -Wall -Werror
LOCAL_CXXFLAGS += -fno-exceptions
```
7. 指定编译输出类型
```
include $(BUILD_SHARED_LIBRARY)
```
下面是一个完整的 Android.mk 文件示例:
```
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := my_module
LOCAL_SRC_FILES := \
file1.cpp \
file2.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_LDLIBS := -llog -lz -lm
LOCAL_CPPFLAGS := -std=c++11 -fexceptions -frtti
LOCAL_CLANG := true
LOCAL_CLANG_CXX_STL := c++_shared
LOCAL_CFLAGS := -Wall -Werror
LOCAL_CXXFLAGS += -fno-exceptions
include $(BUILD_SHARED_LIBRARY)
```
以上示例中,我们定义了一个名为 `my_module` 的模块,它包含了两个源码文件 `file1.cpp` 和 `file2.cpp`,同时指定了需要的头文件、依赖库、编译选项和编译器选项。
请注意,Android.mk 文件的编写会根据项目需求而不同,因此上面的示例仅供参考。
阅读全文