使用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


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