Windows環境下Android NDK環境搭建

前面介紹Windows下Android 開發環境配置,主要是面向JAVA開發環境,對只作APK上層應用開發人員來說,基本夠用了,因爲Linux系統的權限限制和Android封裝架構限制,不少涉及底層設備、接口、驅動控制的應用開發,不得不使用到本文的NDK開發環境(基於Android源碼或內核源碼修改),開發語言使用C/C++,NDK開發更接近於Linux開發,須要更多關於Linux應用編程知識。本文就介紹一下NDK環境搭建及基礎編程思想。 html

本文演示環境:Windows 7 Ultimate+Cygwin+NDK r4。 java

基礎閱讀: android

Windows下Android開發環境搭建和配置 c++

Android開發入門之環境概念介紹 編程

1、下載android NDK

您能夠下載NDK r4  for Windows或NDK r5  for Windows安裝包,下載地址: vim

地址:http://developer.android.com/sdk/ndk/index.html windows

下載後解壓縮到你的工做目錄,例如:E:\Android\develop,結果以下圖: bash

Android NDK包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等內容。samples下面包含幾個實例開發演示項目,第一次接觸NDK開發,建議先從示例開始。下面先看一下編譯環境配置。 網絡

2、下載Cygwin

因爲NDK開發大都涉及到C/C++在GCC環境下編譯、運行,因此在Windows環境下,須要模擬Linux模擬編譯環境,下載地址: 架構

http://www.cygwin.com/

下載後是個setup.exe文件,使用過程以下:

第一步:運行setup程序,第一步圖略,直接點擊Next進入下一步。

第二步:選擇安裝方式,第一次能夠採用Direct Connection在線下載安裝,若有現成的離線包,能夠選擇離線安裝(Install from Local Directory)。

第三步:選擇安裝目錄,好比C:\Cygwin,注意此目錄是指Cygwin最終的安裝目錄,不是下載文件暫存目錄。

 

第四步:設置本地包暫存路徑

暫存目錄默認是放到setup.exe的同級目錄下,下載後名字相似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f這樣格式。

第五步:設置網絡鏈接方式

 

第六步:選擇下載站點地址

起初嘗試幾個看哪一個速度快就用哪一個地址(若是感受不快就點取消,再次來過)。

 

第七步:等待加載安裝項載入,選擇安裝項

咱們編譯NDK,在默認設置下,只需選擇Devel(點擊列表中Devel,將後面的Default改成Install,圖中箭頭所示),其它均爲默認狀態。

第八步:等待下載完成

下載完成時間決定於你選擇的安裝包數量及網絡鏈接速度,好比按照本文默認的選擇方式,可能須要4-5個小時,下載後壓縮包約750M,下載完成後會自動安裝到上文設置的安裝目錄。

提醒:第一次下載完成後,最好把下載的包目錄作個備份,下次安裝一樣的環境能夠直接使用離線安裝方式(第二步中選擇本地安裝)。

3、驗證Cygwin環境

安裝完成後,先運行Cygwin一次(Cygwin.bat),以便建立一些用戶環境文件,分別輸入:

make -v

和,

gcc -v

若是檢測成功,會有make和gcc相關版本信息打印出來,以下圖。

4、配置NDK路徑設置

一、 首先找到cygwin的安裝目錄,找到一個home\<你的用戶名>\.bash_profile文件,個人是:E:\cygwin\home\Administrator\.bash_profile,(注意:我安裝的時候個人home文件夾下面神馬都沒有,解決 的辦法:首先打開環境變量,把裏面的用戶變量中的HOME變量刪掉,在E:\cygwin\home文件夾下創建名爲Administrator的文件夾(是用戶名),而後把E:\cygwin\etc\skel\.bash_profile拷貝到該文件夾下)。 二、 打開bash_profile文件,添加NDK=/cygdrive/<你的盤符>/ 例如:NDK=/cygdrive/e/android-ndk-r5 export NDK NDK這個名字是隨便取的,爲了方面之後使用方便,選個簡短的名字,而後保存 三、打開cygwin,輸入cd $NDK,若是輸出上面配置的/cygdrive/e/android-ndk-r5信息,則代表環境變量設置成功了。

能夠在cygwin中經過vim修改,也能夠在windows安裝目錄中修改 home\<你的用戶名>\.bash_profile 文件中最後添加環境變量

NDK=/cygdrive/e/Andriod/develop/android-ndk-r4

export NDK

其中NDK=/cygdrive/<你的盤符>/<android ndk 目錄> ,"NDK"這個名字隨便起,之後常常用不要太長。

重啓cygwin,輸入:

cd $NDK

可進入ndk對應目錄說明設置OK。

5、編譯演示工程

如今就能夠編譯相關NDK工程了(一些用c/c++寫的程序),編譯方法以下:

一、在cygwin命令行下,進入android項目工做目錄:

cd $NDK

二、依次進入samples\hello-jni目錄,(完整路徑示例: E:\Andriod\develop\android-ndk-r4\samples\hello-jni)

三、運行

$NDK/ndk-build

注意:該命令$NDK和/ndk-build是鏈接到一塊兒的,中間沒有空格,實際使用時是打入完整的$NDK/ndk-build,不要只打ndk-build。

四、正常編譯完成後會在你的項目libs/armeabi目錄下生成對應的 .so文件。

6、導入靜態目標庫到Android項目

編譯完成後會獲得*.so靜態目標庫後,就能夠導入工程環境Eclipse Android項目中使用,注意,NDK編程並不是必定要把這個目標庫導入Android項目使用,除了本步驟描述的使用方法以外,還有Android源碼直接修改、編譯,而後燒錄到測試機的開發方式,那樣能夠實現應用程序默認安裝、權限開機提高等等更「完全」的功能。綜合一下:

本步驟演示屬於NDK目標庫+Andriod APK樣式,此外還有Android源碼直接開發、直接編譯方式(確切一點已經淡化Android所謂的工程概念了,固然源碼開發目前彷佛還沒法直接在Windows下進行,好像必須使用Linux家族系統進行,天緣稍後文章會有所涉及)

使用方法以下(示例):

一、在Eclipse中新建一個工程HelloJni,HelloJni.java中的代碼可參考NDK對應 sample下的演示代碼(android-ndk-r4\samples\hello-jni\tests\src\com\example \HelloJni)調用方法。

二、將NDK編譯項目目錄下的jni和libs文件夾拷貝到新建工程目錄下

注意這兩個文件夾要和工程中的src和res文件在同一目錄下。而後進入Eclipse中刷新工程(會看到多出兩個文件夾)。

三、運行Eclipse項目,就能夠在虛擬機上看到hello-jni.c函數中輸出字符串。

四、後續您能夠試着修改庫源程序或項目JAVA程序來熟悉NDK整個開發過程。

相關文章
相關標籤/搜索