如果我们编译的so文件需要引用到其它的so文件,那我们来看下这时候的Android.mk 文件如何写。

一、不需要ndk编译 .cpp,直接是 so文件

切到 Project 视图,在java同级目录下 新建 jniLibs文件夹,再根据平台需要,在jniLibs目录下建 armeabi-v7/x86 ... 文件夹,

下面的截图 根据平台需要建的是armeabi-v7a文件夹,然后将相应的 so文件复制到该目录下即可。编译运行工程的后,相应的so就打包进apk了。

二、需要ndk 编译.cpp, 编译的 .cpp 需要引用外部的 .so

如下图所示,ndk 编译 util.cpp,需要引用到 libyuv2rgb.so ,我们看下 Android.mk中的内容

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := preutilLOCAL_SRC_FILES := libyuv2rgb.soinclude $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := utilLOCAL_SRC_FILES := util.cpp \LOCAL_LDLIBS := -llog -landroidLOCAL_SHARED_LIBRARIES := preutilinclude $(BUILD_SHARED_LIBRARY)

编译生成的 so 在 app/build/intermediates/ndk/ 目录下。

推荐阅读:

NDK开发_cwin配置+编程简单步骤

NDK开发_AndroidStudio中创建和编译ndk流程

不混淆so文件_NDK开发_编译的cpp引用到 其它so, Android.mk 的写法相关推荐

  1. androidq获取文件正式路径_还在担心后台复制红包口令 Android Q系统升级将解决这一问题...

    还在担心后台复制红包口令 Android Q系统升级将解决这一问题 2019年01月28日 10:33作者:陈浩天编辑:陈浩天文章出处:泡泡网原创 分享 随着Google I/O大会越来越近,新And ...

  2. 【Android.mk】android编译系统makefile文件Android.mk的写法

    (1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件.由于一般情况下 Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式: LOCAL_PATH:=$ ...

  3. android系统应用开发_利用ADB工具免root停用Android系统应用

    最近迷上了安卓的开发,写篇冻结app的教程吧. 主要是实现,免root冻结系统中的某些应用,你懂得哈哈 利用ADB工具免root停用Android系统应用 - Hanada​hanada.info 上 ...

  4. AndroidStudio_安卓原生开发_蓝牙连接设备需要动态申请位置权限---Android原生开发工作笔记137

    android 6.0 以后,搜索蓝牙设备,打开蓝牙,除了需要蓝牙权限以外, <!--蓝牙权限--> <uses-permission android:name="andr ...

  5. AndroidStudio_安卓原生开发_自定义服务器Token验证_MD5加密方法---Android原生开发工作笔记156

    这里单独说一下这个md5加密,因为被坑了一下....很郁闷这个现象诡异,不好察觉,太像是因为 网络环境不稳定导致的了,所以一般不会认为是代码的问题,最后发现确实是有问题的. 由于不希望服务器接口裸奔, ...

  6. AndroidStudio_安卓原生开发_自定义单选列表Spinner绑定自定义数据类型---Android原生开发工作笔记143

    1.写一个类,用来存绑定的数据 public class DictPair {private String name;private String key;private String value;p ...

  7. AndroidStudio安卓原生开发_一个activity中引用多个fragment_以及不同activity中复用某个fragment---Android原生开发工作笔记117

    暂时不写内容,后边补上,因为工作太忙,先把图,以及重要的难点说明写出来,后边会修改成详细的文章 自定义view没有自己的生命周期.

  8. 深入Android应用开发_核心技术解析与最佳实践

    感谢作者的奉献,以下是我读了这本书的笔记,也只是摘录对我有用的片段,分享之: 一.深入解析android核心组件和应用框架 1.listView下空列表的显示问题.重写适配器的isEmpty(),或H ...

  9. php手机端开发,php手机app开发_开发点餐平台app

    如何用Wordpress制作App客户端并在AppStore上线 我猜你大概想表达用Wordpress制作App客户端的信息源,供App获取必要的信息.比如在Wordpress上发布一篇文章,然后Ap ...

最新文章

  1. PDA(Personal Digital Assistance)
  2. 大专python工资有多高-最新 | 2019年Python工程师的平均薪资是多少?
  3. python编程是干啥用的-浅谈Python类中的self到底是干啥的
  4. 让陌生人迅速相爱的36个问题
  5. 转载--SqlAlchemy ORM 学习
  6. erlang的epmd指定端口范围验证及端口权限配置
  7. OPPO Reno巴萨定制版正式开售 10倍混合光变加持专属定制
  8. [FFmpeg] 官方例子 demuxing_decoding.c
  9. python系列之:字典update
  10. 上海大学社会学考研能用计算机吗,上海大学
  11. 吉林大学计算机学院林丛郁,吉林大学珠海学院201奖学金
  12. 华三防火墙NAT配置CLI
  13. Visual Studio设置release版本可调试
  14. 驱动程序为什么要做WHQL认证
  15. python富翁与穷人_穷人和富人最根本的区别
  16. 常见的噪声:高斯、泊松和椒盐噪声
  17. [Python3] 超级码力在线编程大赛初赛 第2场 题解
  18. 经典广告语 广告语对话
  19. vue3搭建多页面应用的方法
  20. 网站计数器——Java实现

热门文章

  1. Python安装GDAL库的问题
  2. C++设计模式详解之抽象工厂模式解析
  3. instr函数 mysql_mysql数据库中查找字串出现的位置instr函数
  4. Flask-SQLAlchemy一般方法总结
  5. nodejs初步搭建HelloWord
  6. linux下日志文件的查找(tail和grep)
  7. java垃圾回收GC(学习笔记)
  8. mysql账户最小授权_mysql 创建帐号并授权
  9. gnuplot使用备忘
  10. ARToolKit从图片生成特征点数据