您的位置:首页 > 移动开发 > Android开发

Android ndk 使用第三方so和头文件编译

2017-03-10 14:35 253 查看
我们在使用ndk的时候,有时候可能会使用到第三放提供的so和头文件。一般他们是提供对外暴露的接口,供开发者去开发。

这里我举个例子,看看如何在Eclipse环境下使用第三方的so。

第三方的提供:

|___libXyun.so
|___Xyun
|__HeaderA.h
|__HeaderB.h

我们要基于这个so和两个头文件做自己的事情。需要在android.mk中添加对他们的引用。

首先,需要把他们拷贝到工程的jni目录中。最后结构如下:

jni
|___libXyun.so
|___Xyun
|__HeaderA.h
|__HeaderB.h

然后修改android.mk

#####添加对库的引用#######

include $(CLEAR_VARS)
LOCAL_MODULE := libXyun #名称
LOCAL_SRC_FILES := libXyun.so #so的路径
include $(PREBUILT_SHARED_LIBRARY)

LOCAL_SHARED_LIBRARIES := libXyun

#####加入头文件#########
LOCAL_C_INCLUDES += $(LOCAL_PATH)/Xyun/ #头文件所在的目录

基本上这样就OK了。

TIPS
用Eclipse写jni代码,没有什么提示功能,用ANDROID studio编写比较舒服,有代码提示。所以建议:在studio中写代码,然后用mk去链接编译。

// TODO
Android Studio 2.2之后对jni的编写支持也好多了,有了CMake,使用起来也比较方便。CMakeList中怎么去使用,我还没有摸清楚。以后再加。估计会了之后,用CMake也会很方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息