windows 系統下 android ndk 環境搭建

NDK簡介:

NDK: Native Development Kit 的縮寫,即 Android 應用本地開發工具包。其實 NDK 早在2011年初就發佈了,只不過之前都不曾用到。最近在一個需求開發上要用到這個環境,這裏就來詳細講解一下這個環境的搭建過程及編譯實例。

NDK主要用途:

我們知道一開始 Android 的應用開發都是用 java 來實現的。NDK的出現可以幫助開發者可以使用C/C++語言來開發android應用中一些算法複雜度高的邏輯部分。另外開發出來的東西保密性更高,不利於反編譯,我們知道 java 反編譯出來的代碼是很容易看懂的,而 C/C++ 的反編譯代碼相對就難懂得多了。C/C++ 部分的代碼最後都會通過 NDK 編譯成 .so 庫文件與 java 部分的編譯結果一起打包成 apk。

NDK環境搭建:

windows系統下搭建NDK開發環境需要準備好兩樣東西:

1,cgywin 

cgywin 是一個模擬linux環境的工具,裏面可以集成 make 編譯工具鏈與 gcc 編譯器,主要用於編譯 C/C++ 代碼。下載地址:http://www.cygwin.com/

2, android ndk

ndk 就是我們講的本地開發工具包了。下載地址爲:http://developer.android.com/tools/sdk/ndk/index.html

安裝 cgywin

下載到 setup-x86.exe 文件後,點擊安裝。出現如下界面時,選擇從網絡安裝


接着選擇安裝目錄(Root directory),

選擇安裝包備份目錄(Local package directory),

直接從網絡安裝(Direct connection),

選擇一個網絡站點(Choose a download site),這裏最好選擇http://mirrors.163.com 或者國內的站點

選擇安裝包(Select Packages),下面畫紅線的兩個安裝包,單擊安裝包右邊的 Default ,變爲 Install 狀態即可。


點擊下一步,一直到安裝成功。如果選擇創建桌面圖標的話,就會多出來一個如下所示的圖標:


測試 cygwin 環境

打開cygwin控制檯,分別輸入 make -v 和 gcc -v ,檢查 make 和 gcc 版本,如果安裝成功的話,會顯示如下所示版本號:


配置 ndk 

cgywin 中設置環境變量,把 ndk 的解壓目錄配置到 cgywin 的環境變量裏面
打開 C:\cygwin\my Cygwin\home\Administrator 目錄,下面有一個 .bash_profile 文件,打開此文件,在最後一行補上如下一句話:
ANDROID_NDK_ROOT=/cygdrive/f/android-ndk-r6b export ANDROID_NDK_ROOT
保存,退出。意思是將 “F:/android-ndk-r6b” 這個目錄定義爲這個字串 ANDROID_NDK_ROOT

測試 ndk 是否配置成功

重啓 cgywin 控制檯,輸入 ndk-build 命令,如果出現如下內容則表示配置成功:

NDK編譯實例:

android ndk 目錄下面有很多樣例,見 F:\android-ndk-r6b\samples,以 hello-jni 爲例,編譯之前

cgywin 控制檯下,進入到該目錄下中的任何一個樣例,輸入命令 $ANDROID_NDK_ROOT/ndk-build

編譯成功,至此可以看下剛纔的文件夾下多出了哪些內容:

可以看到多出來了 libs 和 obj 兩個目錄。

再將這個工程 import 進 eclipse 環境下編譯,右鍵選擇 run as android application 就可以編譯出來 hellojni.apk 了,手機上就可以看到如下界面了。


至此,搭建NDK環境及編譯實例已全部完工。

補充:

如果使用的NDK是r7之前的版本,必須要安裝Cygwin才能使用NDK;從r7開始,Google的提供了一個ndk-build.cmd的腳本,可以直接用它編譯,而不需要使用Cygwin了。可以通過,配置path變量,直接在cmd下面運行ndk-build命令即可對android工程中的項目進行編譯了。
配置path 環境變量,在環境變量中找到 path,在其後添加 C:\android-ndk-r8e 即可。
cmd 控制檯輸入命令 ndk-build ,即可驗證配置成功與否。


下載鏈接:

參考文獻:

http://baike.baidu.com/view/5962708.htm?fr=aladdin
http://blog.csdn.net/com360/article/details/8179130
http://michaelye1988.iteye.com/blog/1740367
http://www.cr173.com/soft/66623.html
發佈了112 篇原創文章 · 獲贊 32 · 訪問量 141萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章