Android JNI入门第五篇——Android.mk分析
转载请标明出处:
http://blog.csdn.net/michael1112/article/details/56671708
江东橘子的博客
Android.mk文件是在使用NDK编译C代码时必须的文件,Android.mk文件中描述了哪些C文件将被编译且指明了如何编译。掌握Android.mk文件的编写主要是掌握其里头将要使用的一些关键字,先来看一个简单的例子,这个例子使用的是android NDK带的
HellJni的例子。
LOCAL_PATH 是描述所有要编译的C文件所在的根目录,这边的赋值为$(call my-dir),代表根目录即为Android.mk所在的目录。
include $(CLEAR_VARS) 代表在使用NDK编译工具时对编译环境中所用到的全局变量清零,如LOCAL_MODULE,LOCAL_SRC_FILES等,因为在一次NDK编译过程中可能会多次调用Android.mk文件,中间用到的全局变量可能是变化的。关于这个问题看了下面比较复杂的例子可能就明白了。
LOCAL_MODULE 是最后生成库时的名字的一部分,给其加上前缀lib和后缀.so就是生成的共享库的名字libhello-jni.so。
LOCAL_LDFLAGS告诉链接器从哪里寻找库文件
LOCAL_SRC_FILES 指明要被编译的c文件的文件名
include $(BUILD_SHARED_LIBRARY) 指明NDK编译时将生成一些共享库
LOCAL_C_INCLUDES变量指定头文件
参考:
android编译系统makefile(Android.mk)写法
android makefile(android.mk)分析(序)
Android.mk的用法和基础
/**
* @author 江东橘子
* 邮箱:whtchl@126.com
*/
Android JNI入门第五篇——Android.mk分析相关推荐
- Android JNI入门第五篇——基本数据类型使用
前面讲到了java和native数据类型,这里就开始做一下使用: 第一步:新建工程 第二部:书写 java方法: [java] view plaincopyprint? public class Na ...
- Android JNI入门第六篇——C调用Java
本篇将介绍在JNI编程中C调用Java实现. ×××地址:http://download.csdn.net/detail/xyz_lmn/4868265 关键代码: java: public clas ...
- Android JNI入门第七篇——C调用Java
关键代码: java: [java] view plaincopy print? public class CCallJava { public static String getTime() { L ...
- Android JNI入门第六篇——基本数据类型使用
转载请标明出处: http://blog.csdn.net/michael1112/article/details/56672288 江东橘子的博客 前面讲到了Java和native数据类型,这里就开 ...
- Android JNI入门第四篇——jni头文件分析
转载请标明出处: http://blog.csdn.net/michael1112/article/details/56666407 江东橘子的博客 一. 首先写了java文件: public cla ...
- java 读取邮件正文_JavaMail入门第五篇 解析邮件
上一篇JavaMail入门第四篇 接收邮件中,控制台打印出的内容,我们无法阅读,其实,让我们自己来解析一封复杂的邮件是很不容易的,邮件里面格式.规范复杂得很.不过,我们所用的浏览器内置了解析各种数据类 ...
- Avalonia跨平台入门第五篇之ListBox多选
前面我也提前预告了今天要实现的效果;不过中间被卡了一下;今天赶紧去弥补上次要做的效果,其实在WPF效果中已经实现过了,看效果吧: ListBox的前台布局代码: 使用的附加属性和WPF好相似: 子项模 ...
- SDN入门第五篇——交换机与控制器之间的交互流程
1.原理 sdn交换机与控制器之间采用Openflow协议进行通信. openflow 交换机和控制器之间的交互步骤 SDN交换机和控制器在建立TCP连接的基础上,进行如下通信: 1.首先互相发送He ...
- android tablelayout 多行,Android入门户五篇之TableLayout (二)//生成10行,8列的表格
当前位置:我的异常网» Android » Android入门户五篇之TableLayout (二)//生成10行,8 Android入门户五篇之TableLayout (二)//生成10行,8列的表 ...
最新文章
- signature验证/salt验证/token验证的作用
- LeetCode Count Primes
- 【opencv】26.图像水平边缘和竖直边缘的算子数学分析
- win7系统控制面板下的打开或关闭windows功能需要打开哪些功能
- 什么是分布式锁?redis、zookeeper、etcd实现分布式锁有什么不同之处?
- 怎么在坐标上面找outliner的异常检测方法,非监督学习
- ue4 classuobject没有成员beginplay_给社团新成员准备的教学大纲
- QT的QMutableListIterator类的使用
- springMVC解析视图
- java递归api_javaAPI_IO流基础_递归使用
- “约见”面试官系列之常见面试题之第九十五篇之vue-router的组件组成(建议收藏)
- 进程锁 读写文件的小例子 C++代码
- 微软推出了一款能帮你“做题”的数学应用
- C# 简单连接数据库并执行SQL查询语句
- Java SSM 项目实战 day09 SSMAOP日志
- vue3 路由跳转,打开新页面
- 一个字段,就可以判断是否关注公众号,你信吗
- 微信集成(帆软报表)
- CentOS下Qt安装
- 计算机屏幕上怎么会有条竖杠,电脑屏幕出现一条竖线
热门文章
- c语言中如何表示矩阵的乘法,c语言矩阵相乘
- python实现自动打电话软件_用Python拨打电话
- java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
- 转子接地保护原理_罗茨鼓风机(压缩机)原理和操作规程
- 非常量引用的初始值必须为左值解决方式
- bootstrap table 分组_bootstrap-table组合表头的实现方法
- 请用状态转换图描述一个绘制折线的对话过程_CAD画一个元器件电路符号(AD)...
- range.clonecontents 不准确_家长注意!通州今起开展幼升小数据调查,不参加或影响明年入学...
- 阿里JAVA面试题剖析:一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?...
- Java8-Lambda表达式