注意上面生成的libstatic_add.a必须跟Android.mk放在同一目录下,否则需要填写相应的路径,然后进行编译: hejinlai_iMac:jni hejinlai$ ndk-build Compile thumb : share_add <= share.c Prebuilt : libstatic_add.a <= jni/ SharedLibrary : libshare_add.so Install : libshare_add.so => libs/armeabi/l...
我们需要打开Android.mk文件,在其中添加静态库的相关配置信息。 下面是一个具体的示例,假设我们要将libfoo.a添加到我们的Android项目中: LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)# 静态库名称LOCAL_MODULE:=foo# 静态库源文件路径LOCAL_SRC_FILES:=libfoo.ainclude$(PREBUILT_STATIC_LIBRARY)include$(CLE...
与BUILD_SHARED_LIBRARY and BUILD_STATIC_LIBRARY不同, 此时模块的LOCAL_SRC_FILES应该被指定为一个预先编译好的动态库,而非source file. LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo-prebuilt # 模块名 LOCAL_SRC_FILES := libfoo.so # 模块的文件路径(相对于 LOCAL_PAT...
include$(BUILD_STATIC_LIBRARY) 这将会生成一个名为lib$(LOCAL_MODULE).a的目标文件。 PREBUILT_SHARED_LIBRARY 指向一个编译脚本,该脚本用来指定一个预先编译好的共享库。这时候变量LOCAL_SRC_FILES值的含义,就和在BUILD_SHARED_LIBRARY和BUILD_STATIC_LIBRARY里面的不同。前者要设置成一个指向预编译好的共享库文...
include$(PREBUILT_STATIC_LIBRARY) ③ 链接动态库 :在 Android.mk 中预链接动态库或静态库 , 注意动态库与静态库使用的配置不同 , 这里以静态库举例 : 代码语言:javascript 复制 LOCAL_STATIC_LIBRARIES:=add ④Java代码实现 :声明 native 方法 , 加载编译的动态库 ; ( 虽然引入了第三方静态库 , 但是 Andro...
PREBUILT_SHARED_LIBRARY 把这个共享库声明为 “一个” 独立的模块。 指向一个build 脚本,用来指定一个预先编译好多动态库。 与BUILD_SHARED_LIBRARY and BUILD_STATIC_LIBRARY不同, 此时模块的LOCAL_SRC_FILES应该被指定为一个预先编译好的动态库,而非source file. LOCAL_PATH := $(call my-dir) ...
static_add.a 编译好的静态库 Android mk LOCAL_PATH:=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:=static_addLOCAL_SRC_FILES:=libstatic_add.a include $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE:=share_addLOCAL_STATIC_LIBRARIES:=static_addLOCAL_SHARED_LIBRARIES:=liblogLOCAL...
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 add-prebuilt-files的定义是在build/core/definitions.mk下,如下: ...
PREBUILT_STATIC_LIBRARY 与PREBUILT_SHARED_LIBRARY相同,但用于预编译静态库。要详细了解如何使用预编译库,请参阅使用预编译库。 目标信息变量 编译系统会根据APP_ABI变量所指定的每个 ABI 解析Android.mk一次,该变量通常在Application.mk文件中定义。如果APP_ABI为all,则编译系统会根据 NDK 支持的每个 ABI 解析Andro...
BUILD_SHARED_LIBRARY是Build System提供的一个变量,指向一个GNU Makefile Script 它负责收集自从上次调用 include $(CLEAR_VARS) 后的所有LOCAL_XXX信息。并决定编译成什么 BUILD_STATIC_LIBRARY :编译为静态库,静态库不会复制到的APK包中,但是能够用于编译共享库。这将会生成一个名为 lib$(LOCAL_MODULE).a 的文...