当前位置: 首页 > 工具软件 > Android NDK > 使用案例 >

Android NDK(介绍)

马高谊
2023-12-01
1,Android NDK 是什么?
 
  • NDK即Native Development Kit,
  • 众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。
  • NDK 是属于 Android 的,与 Java 无直接关系
 
2,Android NDK有什么用?
 
【1】NDK是一系列工具的集合。
  • 它提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk(AndroidPackage的缩写,Android安装包)。
  • 这些工具对开发者的帮助是巨大的。它集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。它可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作
 
【2】NDK提供了一份稳定、功能有限的API头文件声明
  • Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。
 
3,为什么使用NDK
 
【1】代码的保护。由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。
 
【2】可以方便地使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。
 
【3】提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。
 
【4】便于移植。用C/C++写得库可以方便在其他的嵌入式平台上再次使用。
 
 
4,JNI和DNK之间的关系
  • JNI 是实现的目的,NDK 是 Android 中实现 JNI 的手段。
 
 
 类似资料: