android ndk有什么用

 我来答
风情月夜
2017-09-28 · 超过16用户采纳过TA的回答
知道答主
回答量:55
采纳率:92%
帮助的人:16.6万
展开全部
NDK (Native Development Kit)是什么?
NDK是一系列工具的集合,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作

Android NDK的作用?
我们知道在Android上层APP应用都是通过java写出来的.但是当我们设计游戏或视频,音频程序时,肯定需要完成一些复杂的数学运算,这些复杂的操作基本都是放在底层的库中运行的,而且不是通过java语言写出来的,因为java是基于虚拟机的,比C直接面向CPU的执行效率要低很多。所以在Android架构中,底层代码是以C语言,库的形式来完成,例如下图中第3层的各种库。

还有跨平台程序的移植,也是需要用到NDK的技术。如果一款游戏曾经在PC上运行成功,现在要移植到Android等操作系统上,如果用Java代码全部重写一遍,代价是相当大的,并且后期维护的工作量也非常大,有多少平台就要维护多少个版本,可想而知这是效率非常低的。如果我们把该游戏核心的部分,如游戏引擎,视频,音频,图像处理等统一用C语言来编码完成,然后只用Java语言来写一个上层的调用界面,那么工作量和后期可维护性要简单很多。
当然如果编写一个比较简单的应用,只通过Applications,Application Framework 2层就可以完成的程序,那么并不需要使用NDK。

Android NDK优缺点有哪些?
优点:
1.运行效率高
2.利于充分发挥软硬件优势
3.利于代码复用
4.降低版本控制成本
5.降低开发成本

缺点:
1.开发难度较高
2.调试难度较高(以库的形式存在)
3.增加开发团队规模
来自于: http://blog.csdn.net/huahuadashen/article/details/21520995
负老二
2017-09-27 · TA获得超过123个赞
知道答主
回答量:246
采纳率:0%
帮助的人:95.3万
展开全部
写C/C++用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式