现在的位置: 首页 > 综合 > 正文

Android编译加入第三方动态链接库文件的方法

2013年09月17日 ⁄ 综合 ⁄ 共 618字 ⁄ 字号 评论关闭

http://www.mail-archive.com/android-framework@googlegroups.com/msg00990.html

如果你的代码不想随Android开源发布,或者你的代码用到了闭源的第三方库文件,你可以把需要的库动态链接到自己的程序中,修改Android.mk文件,让Android在打包二进制文件时把指定的.so文件放入系统目录下,以供dlopen使用。

下面是一个通用的示例文件,说明了修改Android.mk的方法。增加

MY_LOCAL_PATH := $(LOCAL_PATH)

的原因是

LOCAL_PATH := $(call my-dir)

在一个.mk文件里只能出现一次。

示例文件在编译时,应该把libabc.so放到.mk同一个目录下。

LOCAL_PATH := $(call my-dir)
MY_LOCAL_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
 
LOCAL_PREBUILT_LIBS := libabc.so
 
include $(BUILD_MULTI_PREBUILT)
 
LOCAL_PATH := $(MY_LOCAL_PATH)
include $(CLEAR_VARS)
 
LOCAL_SRC_FILES := main.cpp
LOCAL_MODULE := mytest
LOCAL_SHARED_LIBRARIES := libabc
 
include $(BUILD_EXECUTABLE)

抱歉!评论已关闭.