首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

Android NDK到底能做哪些有趣的事情

发布网友 发布时间:2022-04-22 05:49

我来回答

2个回答

懂视网 时间:2022-04-20 08:26

回复内容:

会显得比较naive 会显得比较不native。

热心网友 时间:2022-04-20 05:34

NDK全称Native Development Kit,因而NDK本身主要是一套工具链。NDK里面包含了交叉编译、链接、调试等的工具,以及一些比较基本的函数库,如STL、标准C库等,一些图形的glue接口等,还有JNI的一些机制。

感觉题主所称的NDK在实际的NDK之外,似乎还包含JNI机制和C/C++编程语言。
JNI是一种让Java层代码和C/C++层代码可以相互调用的机制,也就是Java层代码可以调用C/C++,反过来也可以。不仅仅是Android开发可以用JNI这种机制,普通的PC机上的JAVA开发也可以用这种机制。
在Android app开发中使用C/C++语言,如同其他朋友所言,能带来的好处很多,如利用遗留的相关库,访问底层操作系统接口等等。C/C++是这种开发中的核心。
至于说到有没有必要,当然是具体看情况了。如果Android的Java层开发的知识的积累还非常少,当然应该先积累这方面的东西。对于许多对性能要求比较苛刻的应用领域,如其他朋友提到的音视频编解码,还有游戏的图形什么的使用NDK写一些C/C++代码可能比较好。要看别人优秀的使用了JNI机制和C/C++的开源项目,学一下一定是很有帮助的。
学习方法嘛,主要是分成NDK工具、JNI和 C/C++编程语言3个部分来看。
C/C++编程语言,自不必多说,和常规的 C/C++编程语言又没有什么特别的地方,主要的差别可能也就在可用的函数库等方面了。
JNI的话,有一份叫 《The Java Native Interface Programmer's Guide and Specification》的文档非常好,比较清楚的讲解了Java代码如何与C/C++代码相互访问的方法。
至于NDK,可以参考NDK自带的文档,或者android aosp项目中来了解如何编写Android.mk。 参考NDK自带的文档来了解如何编译,链接,调试,如何编写Application.mk,如何使用STL等。还可以搜一下如何把NDK集成进自己使用的IDE中,如Eclipse,Android Studio等等。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com