Android.mk文件速查速解

常见的模块描述变量解析:

LOCAL_PATH := $(call my-dir)

将当前目录的路径赋值给LOCAL_PATH变量。$(call my-dir)是一个Makefile函数,用于获取当前Makefile文件所在的目录路径。

CODE_PATH := $(LOCAL_PATH)

这行代码将LOCAL_PATH的值赋给CODE_PATH变量。

include $(CLEAR_VARS)

清除先前定义的变量和规则。它通常用于在Makefile中引入其他Makefile文件或模块。

LOCAL_C_INCLUDES

指定使用的头文件路径,递归搜索子文件夹。

LOCAL_SRC_FILES

指定使用的源文件

LOCAL_CFLAGS

指定C/C++编译器的编译选项(例如优化级别、警告选项等)。

LOCAL_STATIC_LIBRARIES

指定当前模块所依赖的静态库文件。静态链接的过程将会直接将静态库的代码和数据复制到最终的可执行文件或共享库中,使得最终的程序文件独立于静态库文件的存在。(有代码)

LOCAL_SHARED_LIBRARIES

指定当前模块所依赖的共享库文件。

LOCAL_EXPORT_C_INCLUDE_DIRS

指定当前模块导出的C/C++头文件路径。这些导出的头文件路径可以让其他模块引用,其他模块不在需要使用LOCAL_C_INCLUDES 去包含该模块头文件路径。

LOCAL_INCLUDE_BUILD_DIRECTORY := true

指定模块的构建目录作为包含文件的搜索路径,这样include时无需指定完整路径。LOCAL_EXPORT_C_INCLUDE_DIRS 适用于需要导出头文件路径给其他模块使用的情况,而 LOCAL_INCLUDE_BUILD_DIRECTORY 适用于仅在当前模块构建过程中使用的头文件路径。

LOCAL_MODULE

指定当前模块的名称。它通常用于生成输出文件的名称,例如可执行文件或共享库的名称。

LOCAL_PROPRIETARY_MODULE

指定当前模块是否是vendor专有模块。true控制生成路径到vendor/lib,false就是system/lib

include $(BUILD_STATIC_LIBRARY)

编译静态库

include $(PREBUILT_STATIC_LIBRARY)

使用预先构建的静态库(无代码)

不断更新中......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android.mk 文件Android NDK(Native Development Kit)中的一个重要文件,它用于构建 Android 应用的 C/C++ 代码。Android.mk 文件是一个 Makefile,它描述了如何编译和链接 C/C++ 源代码文件以生成共享库(.so 文件)或可执行文件Android.mk 文件通常位于 JNI(Java Native Interface)目录下,用于指定要编译的源代码文件、编译选项、链接选项等。以下是一个示例 Android.mk 文件的简单结构: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # 编译选项 LOCAL_CFLAGS := -Werror # 源文件 LOCAL_SRC_FILES := \ file1.c \ file2.c # 生成的共享库名称 LOCAL_MODULE := mylib include $(BUILD_SHARED_LIBRARY) ``` 在这个示例中,`LOCAL_PATH` 定义了当前 Android.mk 文件所在的路径。`include $(CLEAR_VARS)` 清空了之前的变量设置,以便重新定义新的变量。`LOCAL_CFLAGS` 定义了编译选项,这里设置为 `-Werror` 表示将所有警告视为错误。`LOCAL_SRC_FILES` 定义了要编译的源文件列表。`LOCAL_MODULE` 定义了生成的共享库的名称。 通过编写 Android.mk 文件,您可以根据项目的需求自定义编译和链接规则,以及添加其他依赖库等。完成 Android.mk 文件的编写后,可以使用 ndk-build 命令来执行编译和链接操作,生成最终的共享库文件。 请注意,Android.mk 文件在最新的 Android Gradle 插件中已经不再被推荐使用,而是使用 CMake 或 ndk-build 的 Android.bp 文件进行构建。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值