Windows環境下Android NDK環境搭建

來源:互聯網
上載者:User

轉自:http://blog.csdn.net/pengchua/article/details/7582949

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

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

基礎閱讀:

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

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

一、下載android NDK

您可以下載NDK r4  for Windows或NDK r5  for Windows安裝包,:

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

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

Android NDK包含build、docs、samples、sources、GNUmakefile、ndk-build、ndk-gdb及readme等內容。samples下麵包含幾個執行個體開發示範項目,第一次接觸NDK開發,建議先從樣本開始。下面先看一下編譯環境配置。

二、下載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,下載完成後會自動安裝到上文設定的安裝目錄。

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

三、驗證Cygwin環境

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

make -v

和,

gcc -v

如果檢測成功,會有make和gcc相關版本資訊列印出來,如。

四、配置NDK路徑設定

可以在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。

五、編譯示範工程

現在就可以編譯相關NDK工程了(一些用c/c++寫的程式),編譯方法如下:

1、在cygwin命令列下,進入android項目工作目錄:

cd $NDK

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

3、運行

$NDK/ndk-build

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

4、正常編譯完成後會在你的項目libs/armeabi目錄下產生對應的 .so檔案。

六、匯入靜態目標庫到Android項目

編譯完成後會得到*.so靜態目標庫後,就可以匯入工程環境Eclipse Android項目中使用,注意,NDK編程並非一定要把這個目標庫匯入Android項目使用,除了本步驟描述的使用方法之外,還有Android源碼直接修改、編譯,然後燒錄到測試機的開發方式,那樣可以實現應用程式預設安裝、許可權開機提升等等更“徹底”的功能。綜合一下:

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

使用方法如下(樣本):

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

2、將NDK編譯項目目錄下的jni和libs檔案夾拷貝到建立工程目錄下

注意這兩個檔案夾要和工程中的src和res檔案在同一目錄下。然後進入Eclipse中重新整理工程(會看到多出兩個檔案夾)。

3、運行Eclipse項目,就可以在虛擬機器上看到hello-jni.c函數中輸出字串。

4、後續您可以試著修改庫來源程式或項目JAVA程式來熟悉NDK整個開發過程。

 

 交叉參考:http://www.cnblogs.com/jdksummer/articles/2166057.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.