什么是“安卓NDK”,在什么情况下?
2.NDK提供了稳定且有限的API头文件声明。
3.随着NDK的发布,“Java+C”的开发模式终于转正,成为官方支持的开发模式。
4.NDK将使Android平台成为支持C开发的开端。
NDK使java能够调用android中的C函数库。众所周知,java是一种半解释语言,很容易得到反汇编后的源代码文件。在开发一些重要的协议时,出于安全考虑,我们使用C语言来编写这些重要的部分,以增加系统的安全性。还有,在一些接近硬件的环境下,相信大家都知道C和java的优缺点。顺带一提:NDK并不能显著提高申请效率。为什么?我们都认为C语言比java效率高很多。一方面,随着jdk的不断更新,java的效率也在提高。另一方面,即使C语言编码的使用提高了应用效率,但也增加了java和C无缘无故相互调用时的开销。
1和NDK是工具的集合。
NDK提供了一系列工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用打包成apk。这些工具对开发者有很大的帮助。
NDK集成了交叉编译器,并提供相应的mk文件来隔离CPU、平台、ABI等方面的差异。开发人员只需修改mk文件(指出“需要编译哪些文件”和“编译特性要求”等)就可以创建so。).
NDK可以自动将so和Java应用打包在一起,大大减少了开发者的打包工作。
2.NDK提供了稳定且有限的API头文件声明。
Google明确声明API是稳定的,在所有后续版本中稳定支持当前发布的API。从这个版本的NDK来看,这些API支持的功能非常有限,包括:C标准库(libc)、标准数学库(libm)、压缩库(libz)和日志库(liblog)。
3.随着NDK的发布,“Java+C”的开发模式终于转正,成为官方支持的开发模式。
使用NDK,可以用C开发要求高性能的应用逻辑,从而提高应用程序的执行效率。
使用NDK,我们可以用C开发需要保密的应用逻辑。毕竟Java包是可以反编译的。
NDK促进专业so组件供应商的出现。(乐观猜测取决于安卓用户数量)
4.NDK将使Android平台成为支持C开发的开端。
NDK提供了一系列开发工具,使得开发者可以方便地开发和发布C组件。同时,Google承诺在NDK的后续版本中提高“可调”能力,即提供远程gdb工具,以便我们方便地调试C源代码。在支持Android平台的C开发上,我们可以感受到Google花费了大量的精力,我们有理由期待“C组件支持”只是Google Android平台C开发的开始。毕竟C程序员仍然是代码耕耘阵营中的绝对主力,将这些人排除在Android应用开发之外,显然不利于Android平台的繁荣。