写点什么

Application.mk

用户头像
Changing Lin
关注
发布于: 2 小时前
Application.mk

1.概览

Application.mk 指定 ndk-build 的项目级设置。默认情况下,它位于应用项目目录中的 jni/Application.mk 下。

2.变量

2.1 APP_ABI

默认情况下,NDK 构建系统会为所有非弃用 ABI 生成代码;可以设置为特定 ABI 生成代码,如下

APP_ABI := armeabi-v7a arm64-v8a x86
复制代码

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 之后。例如:

APP_CPPFLAGS := -DFOOAPP_CXXFLAGS := -DBAR
复制代码

以上配置将导致编译命令类似于 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。

发布于: 2 小时前阅读数: 2
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
Application.mk