Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android NDK開發(一)——環境搭建

Android NDK開發(一)——環境搭建

編輯:關於Android編程

 

Android下的NDK開發是Android開發中不可或缺的一部分,通過Google提供的NDK套件,我們可以使用JNI這座橋梁在Java和C/C++之間建立聯系(互相調用)。那麼,為什麼在Android開發中需要了解NDK開發呢?誠然,這些原因有很多說法,在我總結來是這樣的。C/C++是比Java還要古老的編程語言,由於其古老的特性,導致早期有很多優秀的類庫出現,譬如處理視頻編解碼的FFMPEG類庫,這些復雜的類庫早就被C/C++編寫過,我們在處理視頻編解碼的時候沒必要重復“造輪子”,所以能直接拿來用的就直接拿來用,但是這個直接法很難做到,因為Java的編譯環境的原理跟C/C++的不同,所以就必須找個中間者為Java和C/C++代碼建立關系,這個中間者就是JNI。還有一個重要的原因就是效率問題,Java是跨平台的語言,在不同的平台有不同的JVM實現,Java源碼需要首先編譯成.class文件,然後讓.class文件運行在不同的JVM解釋執行上,這樣的步驟造成了效率的浪費,而不同的是C/C++,可以直接編譯成特定平台的二進制文件,直接運行在特定平台上,效率比Java高效很多,所以在某些特定的環境下,還是需要使用C/C++來解決效率問題,Java只負責處理C/C++返回來的結果就可以,這樣的話Java和C/C++互調就顯得相當重要了。

做NDK開發前最好需要了解一下C/C++的語法,通常這部分的代碼不需要Android程序員編寫,但是Android程序員最好能看懂C/C++源碼,這樣做會事半功倍一點,關於C/C++語法的學習不是這裡的重點,大家感興趣的話可以直接找資料學習,請從櫃底抽出大學教材《C語言程序設計——譚浩強》,拍拍上面的灰塵,隨便過一遍^.^

一、明確一些基本概念

1,JNI

Java Native Interface Java 本地開發的接口。JNI 是一個協議,這個協議用來溝通java代碼和外部的本地代碼(c/c++)。通過這個協議,java代碼就可以調用外部的c/c++代碼,外部的c/c++代碼也可以調用java代碼。

\\

2,CDT

C/C++ Develop tools,C/C++開發工具。是Eclipse上的一個插件,主要是讓C/C++代碼能夠高亮顯示。這個組件不是必要的,除非你是C/C++高手,喜歡在記事本上寫代碼,對於一般的程序員還是裝一下吧,高亮顯示很重要的。

3,NDK

Native Develop Kits,本地開發套件。這個套件是非常重要的,是Google提供給我們的一個在Android上開發JNI程序的工具集,有了它會使得開發高效的多。

4,cygwin

Windows下的Linux模擬器。大家知道Android是基於Linux內核的操作系統,所以在編譯C/C++源碼的使用得使用Linux環境,將其編譯成Linux特定平台的文件.so或者.a。好消息是,NDK高版本中提供了Windows下開發套件的支持,cygwin可以不使用,直接在Windows下平台編譯也是可行的,但是為了顯示學習,最好還是需要了解一點的。

 

二、NDK環境搭建

1,安裝CDT

如果是使用的是從Android Develop官網上下載的集成了ADT一整套的IDE的話,請跳過這一步,因為ADT中已經集成好了CDT插件,直接使用就可以了。如果使用的是傳統的Eclipse自裝插件的方式的話,有兩種方式可供安裝CDT。 (1)下載CDT插件進行安裝。在Eclipse社區官網可以找到下載鏈接https://eclipse.org/cdt/。 (2)在線安裝。步驟如下: 打開Eclipse工具欄Help-->install new software \

 

選擇 Helios- http://download.eclipse.org/release/helios ,等待展開,選擇Programing language

\


選擇c/c++ 開發工具

\

一路next下去,同意licenses。

安裝成功會提示是不是確認重啟eclipse,重啟就完成安裝。


2,安裝cygwin

NDK需要運行在linux環境下,cygwin是windows下模擬linux的一個工具。Cygwin是一個程序,支持很多插件。可以去cygwin的官網上下載http://www.cygwin.com/雙擊安裝,也可以從CSDN資源頁上下載我上傳的資料包,裡面包含cygwin的安裝程序和安裝包,地址是:http://download.csdn.net/detail/lee_tianya/8235323

\


選擇安裝方式請注意了,一般可以選擇從Internet上在線安裝,不過速度很慢,而且中途不能斷開,如果網速不好中途斷開了,那麼就必須從頭開始下載,非常不舒服。第二種方式是本地安裝,先下載好安裝所需要的文件放在本地磁盤上,然後選擇安裝目錄即可,我這裡是本地安裝。 \

選擇安裝目錄的時候請注意:安裝目錄不可以出現空格,最好不要出現中文等非英文字符。 \
\
\
\

安裝完畢後 ,桌面會出現一個快捷圖標,雙擊快捷小圖標,打開cygwin。

首先程序會初始化

\

 

敲入命令

Make –v

\

 

顯示出來 GNU Make 的版本 ,說明我們的cygwin模擬的linux編譯環境 模擬成功了.

 

3,安裝NDK

首先翻牆上Google Android Develop的官網去下載NDK,地址是http://developer.android.com/tools/sdk/ndk/index.html

\

 

我這裡選用的Windows版本64位的r10d版本的ndk,是當前最新版本,android-ndk-r10d-windows-x86_64.exe,下載完成後點擊exe文件,會自定解壓到當前目錄下,這個過程比較漫長,可見升級造成安裝的過大啊,好,解壓完畢之後我移動E:/NDK目錄下了。

做完上面的一些步驟後,環境基本上是搭建完成了,現在我們使用cygwin模擬Linux環境下,進入Windows路徑E:/NDK/android-ndk-r10d下,執行ndk-build腳本。

第一步:進入根目錄找到根目錄下的cygdrive文件,該文件對應的是Windows下的所有盤符:

\

 

第二步:進入ndk所在目錄:

\

 

第三步:執行ndk-build腳本

\

通過上面的步驟,我們就可以使用ndk-build腳本了,但是這樣的過程是在是太繁瑣了,使用起來是非常的不方便,那麼下面我們來使用一下簡便的方法吧,配置文件。

 

為了方便直接在命令行裡面使用ndk-build,需要給cygwin的環境變量裡面添加ndk的目錄

首先

我們在cygwin安裝的目錄下找到etc/profile文件,這個文件就是cygwin的配置文件,用記事本打開這個文件,找到如下一行:

\

然後

我們在cygwin的控制台上找到ndk的解壓路徑

\

接下來

我們復制這個路徑到Path中,注意Linux環境變量中的路徑分割使用英文冒號“:”來區分

\ 最後 檢測是否配置完成,在cygwin控制台下輸入“ndk-build”命令 \ 若命令行顯示的是如上圖所示的信息,說明配置完成了,可以使用了,若不是這種情況,請根據文章的描述再進行一次配置。
好了,NDK開發中的環境搭建到此就結束了,下面就可以使用NDK環境來開發了,關於NDK開發,後續的文章會慢慢介紹。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved