博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android JNI入门第四篇——Android.mk文件分析
阅读量:6072 次
发布时间:2019-06-20

本文共 1310 字,大约阅读时间需要 4 分钟。

ndroid.mk文件是在使用NDK编译C代码时必须的文件,Android.mk文件中描述了哪些C文件将被编译且指明了如何编译。掌握Android.mk文件的编写主要是掌握其里头将要使用的一些关键字,先来看一个简单的例子,这个例子使用的是android NDK带的

HellJni的例子。

[plain] 
 
  1. LOCAL_PATH := $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. LOCAL_MODULE    := hello-jni  
  6. LOCAL_SRC_FILES := hello-jni.c  
  7.   
  8. include $(BUILD_SHARED_LIBRARY)  

 

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_SRC_FILES 指明要被编译的c文件的文件名

 

include $(BUILD_SHARED_LIBRARY) 指明NDK编译时将生成一些共享库

 

 

参考:

 

 

 

 

<!-- JiaThis Button BEGIN -->
<div id="ckepop">
 <a href="" class="jiathis jiathis_txt" target="_blank"><img src="" border="0" /></a>
 <a class="jiathis_counter_style_margin:3px 0 0 2px"></a>
</div>
<script type="text/javascript" src="" charset="utf-8"></script>
<!-- JiaThis Button END --><!-- JiaThis Button BEGIN -->
<div id="ckepop">
 <a href="" class="jiathis jiathis_txt" target="_blank"><img src="" border="0" /></a>
 <a class="jiathis_counter_style_margin:3px 0 0 2px"></a>
</div>
<script type="text/javascript" src="" charset="utf-8"></script>
<!-- JiaThis Button END -->

 

/**

* @author 张兴业
* 邮箱:
* android开发进阶群:278401545
*
*/

转载地址:http://yingx.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
不得不知道Golang之sync.Map源码分析
查看>>
SCVMM2012功能测试(2)—物理机向虚拟机转换(P2V)
查看>>
有关批量重命名文件名的shell脚本
查看>>
运维自动化之ansible playbook一键化安装redis主从
查看>>
TensorFlow GPU版本的安装与调试
查看>>
浅谈结对编程
查看>>
javaScript的DOM操作
查看>>
Oracle 的四种连接-左外连接、右外连接、内连接、全连接
查看>>
onsyscommand
查看>>
web中的全局变量的使用
查看>>
杭电2091(空心三角形)
查看>>
QT creator 常用快捷键
查看>>
Activity生命周期回调是如何被回调的?
查看>>
防重复点击 节流函数
查看>>
Qt的语法高亮类(注释方式)
查看>>
Hadoop实战(9)_Hive进阶及UDF开发
查看>>
小游戏一:win32贴图——TransparentBlt
查看>>
【windows8开发】C++开发Metro风格App
查看>>
Spring Cloud云服务- HongHu云架构common-service代码结构分析
查看>>