2.4.2 Application.mk
Application.mk是Android NDK构建系统使用的一个可选构建文件。和Android.mk文件一样,它也被放在jni目录下。Application.mk也是一个GUN Makefile片段。它的目的是描述应用程序需要哪些模块;它也定义所有模块的通用变量。以下是Application.mk构建文件支持的变量:
APP_MODULES:默认情况下,Android NDK构建系统构建Android.mk文件声明的所有模块。该变量可以覆盖上述行为并提供一个用空格分开的、需要被构建的模块列表。
APP_OPTIM:该变量可以被设置为release或debug以改变生成的二进制文件的优化级别。默认情况下使用的是release模式,并且此时生成的二进制文件被高度优化。该变量可以被设置为debug模式以生成更容易调试的未优化二进制文件。
APP_CLAGS:该变量列出了一些编译器标志,在编译任何模块的C和C++源文件时这些标志都会被传给编译器。
APP_CPPFLAGS:该变量列出了一些编译器标志,在编译任何模块的C++源文件时这些标志都会被传给编译器。
APP_BUILD_SCRIPT:默认情况下,Android NDK构建系统在项目的jni子目录下查找Android.mk构建文件。可以用该变量改变上述行为,并使用不同的生成文件。
APP_ABI:默认情况下,Android NDK构建系统为armeabi ABI生成二进制文件。可以用该变量改变上述行为,并为其他ABI生成二进制文件,例如:
- APP_ABI := mips
另外,可以设置多个ABI
- APP_ABI := armeabi mips
为所有支持的ABI生成二进制文件
- APP_ABI := all
APP_STL:默认情况下,Android NDK构建系统使用最小STL运行库,也被称为system库。可以用该变量选择不同的STL实现。
- APP_STL :=stlport_shared
APP_GNUSTL_FORCE_CPP_FEATURES:与LOCAL_CPP_EXTENSIONS变量相似,该变量表明所有模块都依赖于具体的C++特性,如RTTI、exceptions等。
APP_SHORT_COMMANDS:与LOCAL_SHORT_COMMANDS变量相似,该变量使得构建系统在有大量源文件的情况下可以在项目中使用更短的命令。
喜欢的朋友可以添加我们的微信账号:
51CTO读书频道二维码

51CTO读书频道活动讨论群:342347198