android自带的编译工具NDK进行编译时(非单纯的调用第三方.so而是进行ndk编程),armeabi以及armeabi-v7a文件夹下的第三方so文件将会被删除,只会产生编译后的so文件,其他的so文件将无法引入,现在我们就来解决:在需要引入第三方的so文件的情况下,怎样使用NDK编译本地代码。

  • 在project/jni目录下创建prebuilt子目录(目录名可自定义).
  • 将第三方.so放到prebuilt中,并创建Android.mk,内容如下:
1 LOCAL_PATH := $(call my-dir)
2
3 include $(CLEAR_VARS)
4 #指定生成的.so文件的名称(hello-jni为第三方.so文件)
5 LOCAL_MODULE    := hello-jni
6 #指定需要导入的.so库文件
7 LOCAL_SRC_FILES := libhello-jni.so
8 include $(PREBUILT_SHARED_LIBRARY)

  • 修改project/jni/Android.mk文件内容(红色字体为新加内容)
 1 LOCAL_PATH := $(call my-dir)
 2
 3 include $(CLEAR_VARS)
 4 #指定生成的.so文件的名称
 5 LOCAL_MODULE    := hello
 6 #指定需要编译的.c文件
 7 LOCAL_SRC_FILES := hello.c
 8
 9 include $(BUILD_SHARED_LIBRARY)
10 include $(LOCAL_PATH)/prebuilt/Android.mk

  • 到project目录下执行:ndk-build(执行成功将会在project/libs/armeabi 目录下看见相关.so库文件)

转载于:https://www.cnblogs.com/yinz/p/4973966.html

Android NDK编程,引入第三方.so库相关推荐

  1. 【我的Android进阶之旅】NDK开发引入第三方so库(比如assimp和opencv库)常出现的几个问题:missing and no known rule to make it等

    文章目录 一.写这篇博客的原因 二.错误一.ninja: error: 'xxx.so', needed by 'yyy.so', missing and no known rule to make ...

  2. android NDk编程

    今天,简单讲讲androidNDK开发一个小程序. 一.Android NDK 是什么 http://www.360doc.com/content/10/0420/23/155970_24064558 ...

  3. uniapp微信小程序引入第三方字体库

    前言 最近在使用第三方字体库,然后发现使用uniapp做小程序时引入第三方字体库有着挺多坑,收集了一些网上的资料,我大概整理下,防止以后继续踩坑 这是uniapp官网的引入字体图标方法 字体引入 从c ...

  4. 引入第三方图标库,并在前台罗列图标

    目前在项目中引入一个第三方矢量图标库已经成为了非常常见的需求.这是因为矢量图不仅体积小,而且在放大时不会失真,颜色也可以轻松修改.相比于传统的方式去加载大量的图片(假设你没有用"雪碧图&qu ...

  5. Swift 引入第三方字体库

    引入第三方字体库 为了达到好的效果展现,我们往往会引入第三方字体库,以使我们工程中的字体展示达到最佳,这方面可能对于阅读之类的APP会用到的更多. 在这里也是随便从网上下载的一个字体,名为经典隶书变体 ...

  6. vue+element-ui项目引入第三方图标库:阿里巴巴矢量图标库(问题:小方框)

    因为element-ui内置的小图标非常有限,所以有时候,我们需要自定义或引入第三方图标库. 先介绍下阿里巴巴矢量图标库iconfont: 这个截图只显示了第一行的图标库,还有很多. 也许,我们需要的 ...

  7. ionic3.0--angular4.0 引入第三方插件库的方法

    ionic3.0 引入第三方插件 (swiper),方法很多,现详细说明下官方推荐(typings)做法. 1.全局安装Typings 1. npm install -g typings  2.搜索你 ...

  8. Android好用的第三方开源库

    记录一些对工作学习有帮助的第三方开源库 快捷入口 音频类 AudioPlay Banner类 banner 流式布局 FlowLayout 网络请求框架 RxEasyHttp okhttp-RxHtt ...

  9. Vue引入第三方JavaScript库和如何创建自己的Vue插件

    一 第三方JavaScript库 前言 .vue文件 中不解析 script标签引入js文件,只能用 import 引入 有两种用法: 1.import a from '-/a' 2.import ' ...

最新文章

  1. 《几何与代数导引》习题1.35.4
  2. mysql 哈希缓存_MySQL Buffer Pool
  3. python界面图片-python实现读取并显示图片方法(不需要图形界面)
  4. 简单介绍--TOSCA自动化测试工具
  5. 金融危机只是世界统一的第三步
  6. github 2FA里的recovery code,一定要好好保存
  7. cryptico.js java解密_從Cryptico.js中提取RSA私鑰
  8. dbms数据库管理系统_基本数据库管理系统(DBMS)能力问题和解答
  9. 50 days before NOI2017
  10. matlab ofdmmodulator,那位高手指点一下OFDM的基本仿真,用MATLAB,谢谢了
  11. Sprite Kit 入门教程
  12. Xshell家庭版下载
  13. 一个用户的上级部门的上级部门对用户也有修改权限,怎么判断?
  14. android实例教程_Android共享首选项示例教程
  15. Java网络编程详解
  16. Quick Batch File Compiler(BAT转EXE工具)bat文件转换成exe文件(启动jar包和自动打开浏览器)
  17. linux 蓝牙驱动 chi,linux下的蓝牙驱动程序详解
  18. error: skipping because parent directory has insecure permissions问题
  19. 大四求职经历——我只是一个普普通通的程序员
  20. Effective C++改善程序与设计的55个具体的做法

热门文章

  1. php运城,运城php培训
  2. html5页面热力图几十万数据,基于百度地图的数据可视化,包括大量数据的标绘以及热力图的插入...
  3. c语言编程文件中删除数据结构,C语言数据结构实战(一)顺序表的插入与删除
  4. Java ByteArrayOutputStream reset()方法及示例
  5. python掷骰子_用于掷骰子的Python程序(2人骰子游戏)
  6. 标志寄存器EFLAGES
  7. java实现递归层次遍历_Java实现二叉树的前序、中序、后序、层序遍历(递归方法)...
  8. 强制进程结束(内核函数)
  9. 744. 寻找比目标字母大的最小字母 golang
  10. 浅谈shell中的clear命令实现