Application.mk
1.概览
Application.mk 指定 ndk-build 的项目级设置。默认情况下,它位于应用项目目录中的 jni/Application.mk 下。
2.变量
2.1 APP_ABI
默认情况下,NDK 构建系统会为所有非弃用 ABI 生成代码;可以设置为特定 ABI 生成代码,如下
2.2 APP_ASFLAGS
要传递给项目中每个汇编源文件(.s 和 .S 文件)的编译器的标记
2.3 APP_ASMFLAGS
对于所有 YASM 源文件(.asm,仅限 x86/x86_64),要传递给 YASM 的标记。
2.4 APP_BUILD_SCRIPT
默认情况下,ndk-build 假定 Android.mk 文件位于项目根目录的相对路径 jni/Android.mk 中。
如需从其他位置加载 Android.mk 文件,请将 APP_BUILD_SCRIPT 设置为 Android.mk 文件的绝对路径。
2.5 APP_CFLAGS
要为项目中的所有 C/C++ 编译传递的标记。
注意:Include 路径应使用 LOCAL_C_INCLUDES 而不是显式 -I 标记。
2.6 APP_CONLYFLAGS
要为项目中的所有 C 编译传递的标记。这些标记不会用于 C++ 代码。
2.7 APP_CPPFLAGS
要为项目中的所有 C++ 编译传递的标记。这些标记不会用于 C 代码。
2.8 APP_CXXFLAGS
与 APP_CPPFLAGS 相同,但在编译命令中将出现在 APP_CPPFLAGS 之后。例如:
以上配置将导致编译命令类似于 clang++ -DFOO -DBAR,而不是 clang++ -DBAR -DFOO
2.9 APP_DEBUG
若要构建可调试的应用,请将此标记设置为“True”。
2.10 APP_LDFLAGS
关联可执行文件和共享库时要传递的标记。注意:这些标记对静态库没有影响。不会关联静态库。
2.11 APP_MANIFEST
AndroidManifest.xml 文件的绝对路径。默认情况下将使用 $(APP_PROJECT_PATH)/AndroidManifest.xml)(如果存在)。注意:使用 externalNativeBuild 时,Gradle 不会设置此值。
2.12 APP_MODULES
要构建的模块的显式列表。此列表的元素是模块在 Android.mk 文件的 LOCAL_MODULE 中显示的名称。
2.13 APP_PLATFORM
APP_PLATFORM 会声明构建此应用所面向的 Android API 级别,并对应于应用的 minSdkVersion。
2.14 APP_PROJECT_PATH
项目根目录的绝对路径。
2.15 APP_SHORT_COMMANDS
LOCAL_SHORT_COMMANDS 的项目级等效项
2.16 APP_STL
用于此应用的 C++ 标准库。默认情况下使用 system STL。其他选项包括 c++_shared、c++_static 和 none。
版权声明: 本文为 InfoQ 作者【Changing Lin】的原创文章。
原文链接:【http://xie.infoq.cn/article/b73e15ee6d85f1b697580f541】。文章转载请联系作者。
评论