《Android的设计与实现:卷I》——第1章 1.6 NDK开发环境配置

    xiaoxiao2021-08-18  244

    1.6 NDK开发环境配置Google官方对NDK(Native Development Kit,原生开发工具集)的解释如下:The Android NDK is a set of tools that allows Android application developers to embed native machine code compiled from C and/or C++ source files into their application packages.

    可见,NDK是为了方便应用开发者在程序中嵌入C/C++代码而提供的工具集。读者可以在http://developer.android.com/sdk/ndk/index.html下载NDK的安装包。

    下载后只需解压到任意工作目录即可。有了NDK,就可根据示例程序编写JNI实现方法,然后放到NDK相应目录运行ndk-build,系统将自动编译出JNI方法对应的共享库。

    在终端中运行命令tree –L1,查看NDK中都包含哪些组件。

    allong@android:~/bin/android-ndk-r8$ tree -L 1├── build├── docs├── documentation.html├── GNUmakefile├── ndk-build //NDK编译脚本,大大简化了应用层JNI开发├── ndk-build.cmd├── ndk-gdb├── ndk-stack├── platforms├── prebuilt├── README.TXT├── RELEASE.TXT├── samples //NDK提供的示例代码├── sources├── tests└── toolchains

    在NDK出现之前,第三方应用程序基本依赖于SDK开发,如果要开发基于JNI的应用程序,其配置十分复杂。NDK的出现大大简化了这一过程,应用开发者可以方便地使用C/C++编写应用程序,并可以很方便地将生成的共享库文件封装进应用程序的安装文件(apk)。

    相对于SDK开发,NDK开发的主要优势如下:可以将一些涉及商业机密的代码用本地代码实现,这样发布的代码不容易被窃取。

    可以将一些需要提高执行效率的代码放入本地中实现。

    移植已有的C/C++代码资源,特别适合于游戏开发者。

    但相对于SDK开发,NDK开发还有如下劣势:

    NDK支持的功能远不如SDK。

    程序兼容性很难保障。

    调试难度加大。

    本书主要讲解框架层部分,而框架层使用了大量的JNI调用。在应用层配合NDK演示JNI的使用极为方便,所以本书第2章JNI部分会通过一个实例来讲解在NDK下如何开发JNI应用。

    1.7 本章小结本章首先介绍了Android的发展过程,让读者对Android有一个初步的认识;然后从静态和动态角度详细分析了Android的体系结构,旨在让读者对Android有一个整体的认识;接着,详细介绍了Android源码下载和编译的流程,并对主要流程进行了深入解释;之后针对源码结构做了概括性介绍;最后讲解了如何搭建和使用Eclipse、Source Insight和NDK开发环境。通过本章的学习,我们已经迈出了源码分析的第一步。接着开始下面的征程吧!

    相关资源:七夕情人节表白HTML源码(两款)

    最新回复(0)