NDK开发之Application.mk文件详解
来源:互联网 发布:java 内存泄露几种情况 编辑:程序博客网 时间:2024/06/08 13:28
做过NDK开发的同学应该都知道有个Application.mk文件,这是android NDK构建系统使用的一个可选构建文件。它的目的是描述应用程序需要哪些模块,也定义了所有模块的一些通用变量。主要有以下几个变量。
APP_MODULES,默认情况下,ndk会构建在android.xk文件中声明的所有模块。但是这个变量可是覆盖上述行为。
假如我们的android.mk文件是这样的:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := jni1LOCAL_SRC_FILES := jni1.cinclude $(BUILD_SHARED_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := jni2LOCAL_SRC_FILES := jni2.cinclude $(BUILD_SHARED_LIBRARY)
application.mk文件是这样的:
APP_MODULES := jni1
那么系统只会生成libjni1.so文件,而不会生成libjni2.so文件。如果要生成libjni2.so,那么我们可以这样:
APP_MODULES := jni1 jni2
APP_OPTIM:该变量可以被设置为release或者debug,这样可以改变生成的二进制文件的优化级别。默认情况下是release模式。此时生成的二进制文件被高度优化。如果需要调试的话我们最好还是设置为debug模式。
APP_CLAGS:该变量列出了一些编译器标志,在编译任何模块的C或者C++代码时这些标志都会被传给编译器。
APP_CPPFLAGS:该变量列出了一些编译器标志,在编译任何模块的C++代码时这些标志都会被传给编译器。
APP_ABI:默认情况下,ndk构建系统为armeabi,ABI生成二进制文件,该变量可以改变上述行为:
APP_ABI := armeabi armeabi-v7a x86
如果要为所有支持的ABI生成二进制文件:
APP_ABI := all
APP_STL:默认情况下,ndk构建系统使用最小的stl运行库,也被称为system库,该变量可以改变上述行为。
APP_GUNSTL_FORCE_CPP_FEATURES:表明所有的模块都依赖于具体的C++特性,与LOCAL_CPP_EXTENSIONS类似。
APP_SHORT_COMMANDS:该变量使得构建系统在有大量源文件的情况下可以在项目中使用更短的命令。与LOCAL_SHORT_COMMANDS类似。
- NDK开发之Application.mk文件详解
- Android NDK开发指南---Application.mk文件
- Android NDK开发指南---Application.mk文件
- Android NDK开发指南---Application.mk文件
- Android NDK开发指南---Application.mk文件
- Android NDK开发指南 Application.mk文件
- ndk开发中的Android.mk文件与Application.mk详解及实例
- android ndk 开发之Application.mk
- android ndk 开发之Application.mk
- android ndk 开发之Application.mk
- android ndk 开发之Application.mk
- Android NDK-Application.mk详解
- 开发笔记:android ndk 开发之Application.mk
- Android NDK开发指南(一) Application.mk文件
- Android NDK开发指南(一) Application.mk文件
- Android NDK开发指南(一) Application.mk文件
- Android NDK开发指南(一) Application.mk文件
- Android NDK开发指南(一) Application.mk文件
- hdu4287(字典树)
- OpenGL GLSL 一维纹理的使用
- 算法知识分类集锦
- 后台开发面试准备1:Linux命令
- CSS三栏布局(两边固定中间自适应宽度)的方法
- NDK开发之Application.mk文件详解
- 解决appt.exe finished with non- zero exit value 1问题
- 深入Java单例模式
- 【SDUTOJ 3307】 a (第k小背包)
- 基于android平台的视觉检测智能相机的实现-opencv4android的应用
- Ipython
- Python的内建常量
- sql server 2012 报表开发(1) 如何使用Reporting Service 2012制作报表
- ajax传参给php,php连接服务器数据库并返回数据过程详解