使用Android NDK开发(一):Android NDK介绍(包括JNI的介绍)

接触Android应用开发也有一两年了,之前一直没用Android NDK进行开发,都是基于Android SDK,兴冲冲地搭建好环境(教程我的博客也有),成功运行了NDK中示例代码之后,突然觉得有点懵,完全不知道其中的原理,于是理了理思路,决定先弄清楚什么是Android NDK?什么是JNI?

首先,在维基百科的Android词条中,介绍了“开发者亦可以通过在Android NDK(Android Native开发包)中使用C语言或者C++语言来作为编程语言开发应用程序”,跟通过在Android SDK中使用Java语言来开发应用程序是一个道理。在NDK词条中介绍了:原生开发工具包(英语:native development kit,简称NDK)是一种基于原生程序接口的软件开发工具。

JNI是什么呢?Java本地接口 (JNI)是一个编程框架,使得运行在Java虚拟机上的Java程序调用或者被调用特定于本机硬件与操作系统的用其它语言(C、C++或汇编语言等)编写的程序。JNI由Oracle开发,适用于所有Java虚拟机

这样就明确了Android NDK是基于JNI的一套开发Android应用的工具。Just Like the SDK!

参考的文档:

维基百科的Android词条:http://zh.wikipedia.org/wiki/Android#.E7.A8.8B.E5.BA.8F.E9.96.8B.E7.99.BC

维基百科的NDK词条:http://zh.wikipedia.org/wiki/%E5%8E%9F%E7%94%9F%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E5%8C%85

维基百科的JNI词条:http://zh.wikipedia.org/wiki/Java%E6%9C%AC%E5%9C%B0%E6%8E%A5%E5%8F%A3

较详细的介绍JNI:http://blog.csdn.net/skywalker256/article/details/4677644

ORACLE官方JNI文档:http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/intro.html

Introduction to Android NDK:http://elekslabs.com/2013/12/introduction-into-android-ndk.html 

上面文档的中文翻译:http://www.importnew.com/8038.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章