转载请标明出处:
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分析相关推荐

  1. Android JNI入门第五篇——基本数据类型使用

    前面讲到了java和native数据类型,这里就开始做一下使用: 第一步:新建工程 第二部:书写 java方法: [java] view plaincopyprint? public class Na ...

  2. Android JNI入门第六篇——C调用Java

    本篇将介绍在JNI编程中C调用Java实现. ×××地址:http://download.csdn.net/detail/xyz_lmn/4868265 关键代码: java: public clas ...

  3. Android JNI入门第七篇——C调用Java

    关键代码: java: [java] view plaincopy print? public class CCallJava { public static String getTime() { L ...

  4. Android JNI入门第六篇——基本数据类型使用

    转载请标明出处: http://blog.csdn.net/michael1112/article/details/56672288 江东橘子的博客 前面讲到了Java和native数据类型,这里就开 ...

  5. Android JNI入门第四篇——jni头文件分析

    转载请标明出处: http://blog.csdn.net/michael1112/article/details/56666407 江东橘子的博客 一. 首先写了java文件: public cla ...

  6. java 读取邮件正文_JavaMail入门第五篇 解析邮件

    上一篇JavaMail入门第四篇 接收邮件中,控制台打印出的内容,我们无法阅读,其实,让我们自己来解析一封复杂的邮件是很不容易的,邮件里面格式.规范复杂得很.不过,我们所用的浏览器内置了解析各种数据类 ...

  7. Avalonia跨平台入门第五篇之ListBox多选

    前面我也提前预告了今天要实现的效果;不过中间被卡了一下;今天赶紧去弥补上次要做的效果,其实在WPF效果中已经实现过了,看效果吧: ListBox的前台布局代码: 使用的附加属性和WPF好相似: 子项模 ...

  8. SDN入门第五篇——交换机与控制器之间的交互流程

    1.原理 sdn交换机与控制器之间采用Openflow协议进行通信. openflow 交换机和控制器之间的交互步骤 SDN交换机和控制器在建立TCP连接的基础上,进行如下通信: 1.首先互相发送He ...

  9. android tablelayout 多行,Android入门户五篇之TableLayout (二)//生成10行,8列的表格

    当前位置:我的异常网» Android » Android入门户五篇之TableLayout (二)//生成10行,8 Android入门户五篇之TableLayout (二)//生成10行,8列的表 ...

最新文章

  1. signature验证/salt验证/token验证的作用
  2. LeetCode Count Primes
  3. 【opencv】26.图像水平边缘和竖直边缘的算子数学分析
  4. win7系统控制面板下的打开或关闭windows功能需要打开哪些功能
  5. 什么是分布式锁?redis、zookeeper、etcd实现分布式锁有什么不同之处?
  6. 怎么在坐标上面找outliner的异常检测方法,非监督学习
  7. ue4 classuobject没有成员beginplay_给社团新成员准备的教学大纲
  8. QT的QMutableListIterator类的使用
  9. springMVC解析视图
  10. java递归api_javaAPI_IO流基础_递归使用
  11. “约见”面试官系列之常见面试题之第九十五篇之vue-router的组件组成(建议收藏)
  12. 进程锁 读写文件的小例子 C++代码
  13. 微软推出了一款能帮你“做题”的数学应用
  14. C# 简单连接数据库并执行SQL查询语句
  15. Java SSM 项目实战 day09 SSMAOP日志
  16. vue3 路由跳转,打开新页面
  17. 一个字段,就可以判断是否关注公众号,你信吗
  18. 微信集成(帆软报表)
  19. CentOS下Qt安装
  20. 计算机屏幕上怎么会有条竖杠,电脑屏幕出现一条竖线

热门文章

  1. c语言中如何表示矩阵的乘法,c语言矩阵相乘
  2. python实现自动打电话软件_用Python拨打电话
  3. java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
  4. 转子接地保护原理_罗茨鼓风机(压缩机)原理和操作规程
  5. 非常量引用的初始值必须为左值解决方式
  6. bootstrap table 分组_bootstrap-table组合表头的实现方法
  7. 请用状态转换图描述一个绘制折线的对话过程_CAD画一个元器件电路符号(AD)...
  8. range.clonecontents 不准确_家长注意!通州今起开展幼升小数据调查,不参加或影响明年入学...
  9. 阿里JAVA面试题剖析:一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?...
  10. Java8-Lambda表达式