Jni调用第三方的so库

现在有一个libadd_putao.so,里面有函数int add_putao(int a, int b);

下面讲述怎么在jni中使用libadd_putao.so中的函数add_putao.

首先复制来你的ndk路径下samples中的hello-jni的代码,我们在此的基础上测试

1.新建一个prebuilt目录,再在里面间一个文件Android.mk,内容如下

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := libadd_putao_pre
LOCAL_SRC_FILES :=  libadd_putao.so
include $(PREBUILT_SHARED_LIBRARY)

新建一个add_putao.h文件,里面写入入int add_putao(int a, int b);

把libadd_putao.so放进来,

这样这个目录就OK了

2.修改jni/Android.mk,修改后如下

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := hello-jni
LOCAL_SHARED_LIBRARIES := libadd_putao_pre
LOCAL_SRC_FILES := hello-jni.c
LOCAL_LDLIBS += -llog 
include $(BUILD_SHARED_LIBRARY)
include $(LOCAL_PATH)/prebuilt/Android.mk
3.然后就是在hello-jni.c中加入要测试的代码了

包含头文件:#include "prebuilt/add_putao.h"

测试代码:

int res =add_putao(1,2);

测试代码地址


本文地址:http://blog.csdn.net/csqingchen/article/details/45247541


你可能感兴趣的:(android,Jni调用第三方的so库)