开发笔记:android ndk 开发之Application.mk

本文详细解析了Application.mk文件在Android项目构建过程中的关键作用,包括其存放位置、变量定义以及如何影响项目构建流程。通过理解这些概念,开发者能够更有效地管理动态库和静态库,优化构建过程,提升开发效率。
摘要由CSDN通过智能技术生成

Application.mk的作用:

Application.mk描述了应用程序需要哪些动态库和静态库。

 

存放位置:

文件通常放在项目目录的jni文件夹下。

 

变量定义:

由于Application.mk说到底只是作为GNU makefile的一个片段,其中也需要定义一些变量。

 

-APP_PROJECT_PATH

此变量应该被赋予项目的根目录地址,此项为可选项。


-APP_MODULES


此项为可选项,当没有此选项时,NDK会自动编译android.mk文件中定义的所有模块及其包含的子模块。

 

当有此选项时,必须是一个模块的列表,各个模块之间以空格为分隔符分开或者是向android.mk中罗列开来。

 

-APP_OPTIM

此选项可以被定义为 release 或 debug。这个选项用于变更编译程序模块时的优化级别。

默认的选项是release,此选项下会得到较高级别的优化。debug下为了便于调试不会进行过多优化。


可以在manifest文件中<application>tag内设置android:debuggable为ture来改变默认值为debug

其实无论debug还是release都是允许用户进行调试的,只是debug模式下会提供更多的信息。

 

-APP_BUILD_SCRIPT
默认条件下,NDK编译系统会到工程目录的jni文件夹下查找android.mk文件。如果你想覆盖这个行为的话
就可以定义此变量此变量。如果你给定的是一个非绝对路径的话,那么这个路径总是被认为是相对于NDK顶层目录的路径。
 
-APP_ABI
默认条件是armeabi,用户可以通过此选项进行修改,例如:为了在ARMv7上支持硬件FPU指令可以修改如下:
APP_ABI := armeabi-v7a
或者支持ARMv5TE 又支持ARMv7的设备
APP_ABI := armeabi armeabi-v7a
-APP_STL
默认条件下,NDK编译系统会使用android系统提供的轻量级C++运行时库
/system/lib/libstdc++.so
NDK本身为用户提供了可选择的C++库,用户可以使用或是链接到自己的应用。
例如:
	APP_STL := stlport_static    --> static STLport library
       APP_STL := stlport_shared    --> shared STLport library
       APP_STL := system            --> default C++ runtime library

 

 

-------------------------------------------------------------------------------------------------

毕业后头五年决定你的一生                                  10类最急需IT人才:Java开发者居首       

海量Android教程、开发资料和源码                       给将成为“Android高手”的10个建议 

成为Java高手的25个学习目标--非常经典               Android 4.1果冻豆新特性详解 

Java侵权诉讼Google获胜,Android厚积薄发          面试必备:Android笔试总结 

Android高手必须掌握的28大内容和10个建议       Android平台研发人才缺口30万 

Android开发环境安装和配置步骤详细图解            2012国内移动App开发者大调查结果 

Windows 7下搭建android开发环境步骤图解        Android 4.0的30个突出的新特性 

Android高手要经过的6个阶段和6个境界               linux下搭建Android开发环境步骤 

从IT菜鸟变为“IT骨干开发者”的11个建议          程序员编程技术迅速提高的终极攻略 

2012世界各国人均GDP排名,中国超泰国              2012年全国各省平均工资排行 

2012年中国大学高校排行榜(580强排名)         中国各省市面积和人口数量排名 

中国百万开发者大调查:程序员的薪水不错         Java高手需要越过的10座高山

周立功谈嵌入式:我的25年嵌入式生涯                Android和Java语言的异同和关系 

华为中国区手机销量达千万,80%为智能机           谷歌Android碎片化严重

2012年中国各省GDP和人均GDP排名                 90后就业“钱景”:IT仍是最佳选择

2012全球城市竞争力500强,69个中国城市上榜   不要做浮躁的软件工程师 

2012年世界500强,79家大陆香港台湾公司上榜名单 给IT新兵的15个建议 

美国知名科技公司入门级软件工程师的薪水排名  回顾Java经过的风风雨雨 

71道经典Android面试题和答案--重要知识点都涉及到了 

芯片巨头海思和展讯:给中国芯片业带来信心    海量经典Java教程、学习资料和源码

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值