为什么80%的码农都做不了架构师?>>>   

我们在使用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也会很方便。

转载于:https://my.oschina.net/lifj/blog/856262

Android ndk 使用第三方so和头文件编译相关推荐

  1. 【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 )

    文章目录 一.导入 Oboe 库 二.使用预构建的二进制库和头文件 三.编译 Oboe 源代码 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getting Starte ...

  2. Android NDK 使用第三方静态库(转)

    源:Android NDK 使用第三方静态库 转载于:https://www.cnblogs.com/LittleTiger/p/4556382.html

  3. iOS中引入第三方静态库头文件找不到的问题解决方案

    在前几次项目中,因为要引入一些自己打包好的静态库,也就是第三方静态库,但是出了很多问题,有时会遇到莫名其妙的问题,明明有这个文件,但是就是显示头文件找不到.为了在以后能够快速处理这种问题,所以在这里做 ...

  4. android ndk r14b安装,[Cmake-Android音视频]NDK-r14b编译ffmpeg3.4支持neon,硬解码

    编译环境 Ubuntu16.04 x86_64 Ffmpeg3.4 ndk-r14b 编译前的准备 ubuntu16.04 64位linux 下载ndkubuntu 下载ffmpegbash 查看ub ...

  5. 头文件里面声明的函数,到底加extern好还是不加extern呢?加不加都一样,默认是EXTERN。有时候没包含头文件编译也能找到函数,不报错只警告

    头文件里面声明的函数,到底加extern好还是不加extern呢? C/C++>C语言 收藏回复 [问题点数:20分] 0深水蓝0 等级 结帖率 79.49% 想征求一下大家的意见. 一些希望对 ...

  6. 使用cocoapods导入第三方类库后 头文件没有代码提示?

    选择Target -> Build Settings 菜单,找到\"User Header Search Paths\"设置项 新增一个值"${SRCROOT}&q ...

  7. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )

    文章目录 一.拷贝 p7zip 源码中的头文件到 Android Studio 项目中 二.配置 CMakeLists.txt 构建脚本 1.导入动态库 2.导入头文件 三.完整 CMakeLists ...

  8. 【Android 高性能音频】Oboe 开发流程 ( 包含头 Oboe 头文件 | 创建音频流 | 设置音频流 | 音频流回调类 AudioStreamCallback )

    文章目录 一.包含头 Oboe 头文件 二.音频流构建器 AudioStreamBuilder 三.音频流回调 AudioStreamCallback Oboe GitHub 主页 : GitHub/ ...

  9. android ndk 动态库_百度经验,android ndk 动态库

    android ndk开发经常遇到了动态库的问题,本文主要介绍: ① 动态链接库的生成: ② 在Java和C混合编程的情况下如何调用第三方动态链接库: ③ 通过jar包的方式间接调用第三方动态链接库: ...

最新文章

  1. [Oracle]Oracle 各产品的 生命周期
  2. android组件通讯 Intent- 系统标准的Activity Action应用
  3. 健身品牌Shape获得数千万元Pre-A轮融资,清流资本领投
  4. com.esri.android,解决ArcGIS Android Could not find class 'com.esri.android.map.MapView'问题
  5. wordpress教程:默认http头信息X-Pingback的隐藏与修改
  6. Oracle 19.6 的有趣BUG:可能引发 CLOB 存储数据的丢失
  7. Java实训项目:GUI学生信息管理系统(2019)【中】
  8. Android系统 (150)---Android 开发者工具
  9. IDEA设置注释配置时获取不到参数的解决办法
  10. python中按照文件夹中文件的排列顺序读取文件内容
  11. java jtextfield 监听_Java JTextField DocumentListener如何用?
  12. c++ STL之queue
  13. svn忽略class文件夹上传的方法
  14. c语言关系运算符号比较大小,有哪些c语言关系运算符号
  15. 常用LDO低压差线性稳压芯片封装型号以及基本电路
  16. iol植入手术过程_完美!浙二眼科中心完成中国首例连续视程IOL植入术 - 眼科专业讨论版 -丁香园论坛...
  17. 还在为520礼物发愁吗?教你用python撩女朋友
  18. 今日头条2018校招测试开发方向(第一、二、三、四批)编程题汇总 - 题解
  19. 决胜未来,2019前端开发十大战略性技术布局
  20. 树莓派3 读取DS18B20 温度

热门文章

  1. Kubernetes Deployment与Replica Set
  2. 【笔记】与Android选项卡一周
  3. springmvc学习笔记--Interceptor机制和实践
  4. BZOJ2888 : 资源运输
  5. Objective-C:Objective-C:文件中一些对目录进行操作的函数
  6. 【每日算法】C语言8大经典排序算法(2)
  7. 修改IE9浏览器默认下载路径
  8. 中端存储不能承受之重
  9. 新网站如何推广 新建设的网站如何宣传
  10. Android app按三层架构+MVC整理(重构)代码可行吗