built_static_libraries 主要调用了foreach函数,取出LOCAL_STATIC_LIBRARIES列表中的每项,然后执行后面的函数并返回最后的结果: $(foreach lib,$(LOCAL_STATIC_LIBRARIES), funcX) 具体执行的函数则是 $(call intermediates-dir-for, STATIC_LIBRARIES,$(lib),$(LOCAL_IS_HOST_MODULE))/$(lib)$(a_suffix) 注...
LOCAL_SHARED_LIBRARIES LOCAL_STATIC_LIBRARIES 他们指定动静态库的方式为libxxx,例如: LOCAL_STATIC_LIBRARIES := libHWRecog LOCAL_SHARED_LIBRARIES := \ libcutils \ libnativehelper \ libutils \ 附录C为Android.mk中的所有LOCAL_XXX编译变量。 附录A: gcc命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准...
② 静态库配置 :include $(PREBUILT_STATIC_LIBRARY) 3 . 链接依赖库时配置不一致 : ① 动态库依赖配置 :LOCAL_SHARED_LIBRARIES ② 静态库依赖配置 :LOCAL_STATIC_LIBRARIES X . 完整代码示例 1 . build.gradle 配置示例 代码语言:javascript 复制 apply plugin:'com.android.application'android{compileSdkVersio...
最关键的一步是通过LOCAL_STATIC_LIBRARIES导入了一个名为lib_static的静态库。最后,使用include $(LOCAL_PATH)/lib_static/Android.mk导入了静态库的Makefile文件。 示例代码 下面是一个简单的示例代码,演示了如何在Android.mk中导入名为lib_static的静态库: # 定义库名称和路径LOCAL_PATH:=$(callmy-dir)include...
LOCAL_PREBUILT_LIBS := *.so/*.a include $(BUILD_MULTI_PREBUILT) 将其封装的更简单的方式是: $(call add-prebuilt-files, ETC, pv_player.cfg) 它会将pv_player.cfg copy to system/etc下,还可以设定类型: ETC,APPS,EXECUTABLES,SHARED_LIBRARIES,STATIC_LIBRARIES ...
LOCAL_STATIC_LIBRARIES+= ld.gold#连接我们前面声明好的静态库LOCAL_STATIC_LIBRARIES +=my_blocks#连接我们前面声明好的动态库 # LOCAL_SHARED_LIBRARIES += my_blocksLOCAL_LDLIBS:= -llog#将此模块构建为动态库include $(BUILD_SHARED_LIBRARY) $(callimport-module,cpufeatures) ...
BUILD_STATIC_LIBRARY 变量BUILD_STATIC_LIBRARY是专门用来编译静态库的。静态库是不能直接用在应用程序中的,但是可以用来构建共享库(参照下面的对LOCAL_STATIC_LIBRARIES和LOCAL_WHOLE_STATIC_LIBRARIES变量的说明)。示例用法如下: 代码语言:javascript 复制 include$(BUILD_STATIC_LIBRARY) ...
LOCAL_MODULE := mylib_shared LOCAL_SRC_FILES := src2.c LOCAL_STATIC_LIBRARIES:= mylib_static include $(BUILD_SHARED_LIBRARY) 情况四:已有第三方静态库(动态库),编译静态库(动态库) 文件Android.mk: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) ...
LOCAL_STATIC_LIBRARIES and LOCAL_WHOLE_STATIC_LIBRARIES将描述之。 include $(BUILD_STATIC_LIBRARY) BUILD_EXECUTABLE 与前面类似,它也指向一个编译脚本,收集自从上次调用 include $(CLEAR_VARS) 后的所有LOCAL_XXX信息。 并决定如何将你列出的Source编译成一个可执行Native程序。
LOCAL_STATIC_LIBRARIES:当前模块在静态链接时需要的库的名称。 LOCAL_SHARED_LIBRARIES:当前模块在运行时依赖的动态库的名称。 LOCAL_CFLAGS:提供给 C/C++ 编译器的额外编译参数。 LOCAL_JAVA_LIBRARIES:当前模块依赖的 Java 共享库。 LOCAL_STATIC_JAVA_LIBRARIES:当前模块依赖的 Java 静态库。