android 的NDK在Windwos環境搭建(一)

NDK的Windwos環境搭建Eclipse版本是3.6以上的 
一、下載android NDK您可以下載NDK r4  for Windows或NDK r5  for Windows安裝包,下載地址:
地址:http://developer.android.com/sdk/ndk/index.html
2011122816360098.png

下載後解壓縮到你的工作目錄,例如:E:\Android\tools\android-ndk-r7,結果如下圖:
2011122816365794.png
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文件。http://cygwin.com/setup.exe
2011122816371536.png

使用過程如下:
第一步:運行setup程序,第一步圖略,直接點擊Next進入下一步。
第二步:選擇安裝方式,第一次可以採用Direct Connection在線下載安裝,如有現成的離線包,可以選擇離線安裝(Install from Local Directory)。

第三步:選擇安裝目錄,比如E:\Android\cygwin,注意此目錄是指Cygwin最終的安裝目錄,不是下載文件暫存目錄。
第四步:設置本地包暫存路徑
暫存目錄默認是放到setup.exe的同級目錄下,下載後名字類似E:\Android\Softs這樣格式。
第五步:設置網絡連接方式
第六步:選擇下載站點地址
起初嘗試幾個看哪個速度快就用哪個地址(如果感覺不快就點取消,再次來過)。國內的話,我感覺163的速度不錯。

第七步:等待加載安裝項載入,選擇安裝項
我們編譯NDK,在默認設置下,只需選擇Devel(點擊列表中Devel,將後面的Default改爲Install,圖中箭頭所示),其它均爲默認狀態。

那四個單選按鈕是選擇下邊樹的樣式,默認就行,不用動。View默認是Category,建議改成full顯示全部包再查,省的一些包被隱藏掉。左下角那個複選框是是否隱藏過期包,默認打鉤,不用管它就行,下邊開始下載我們要安裝的包吧,爲了避免全部下載,這裏列出了後面開發NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc-g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12個包

2011122816380881.png

第八步:等待下載完成
下載完成時間決定於你選擇的安裝包數量及網絡連接速度,比如按照本文默認的選擇方式,可能需要4-5個小時,下載後壓縮包約830M左右,下載完成後會自動安裝到上文設置的安裝目錄。

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


三、驗證Cygwin環境
安裝完成後,運行cygwin,
第一次使用時,會創建一些用戶環境文件,
在彈出的命令行窗口輸入:cygcheck -c cygwin命令,會打印出當前cygwin的版本和運行狀態,如果status是ok的話,則cygwin運行正常。
分別輸入:
make -v
和,
gcc -v
如果檢測成功,會有make和gcc相關版本信息打印出來,
四、編譯示例
1、設置NDK路徑。
在windows的系統環境變量中添加NDK的路徑。如:e/Andriod/tools/android-ndk-r7

2、也可以不添加,每次打開目錄時,輸入該路徑即可。 /cygdrive/e/Andriod/tools/android-ndk-r7
2011122816402179.png

四:用NDK來編譯程序

    1、現在我們用安裝好的NDK來編譯一個NDK提供的示例的程序。

我們選擇ndk自帶的例子hello-jni,我的位於android-ndk-r7\samples\hello-jni(根據你具體的安裝位置而定),

    2、運行cygwin,輸入命令cd /cygdrive/e/android-ndk-r5/samples/hello-jni,進入到E:\android-ndk-r5\samples\hello-jni目錄。
2011122816420744.png


3、輸入 ../ndk-build ,執行成功後,它會自動生成一個libs目錄,把編譯生成的.so文件放在裏面。(ndk-build是調用ndk的編譯程序)錯誤:
Android NDK: Host 'awk' tool is outdated。
找到目錄E:\Android\tools\android-ndk-r7\prebuilt\windows\bin\awk.exe:刪除awk。(爲保險起見可先cp一份),重新ndk-build
成功編譯:
2011122816425754.png


  4、此時去hello-jni的libs目錄下看有沒有生成的.so文件,如果有,你的ndk就運行正常啦!正常編譯完成後會在你的項目libs/armeabi目錄下生成對應的 .so文件。hello-jni目錄中多了一個libs目錄。打開目錄,發現到so文件。
2011122816433756.png

導入示例s到Android項目ndk自帶例子是無法直接導入的,需要使用方法如下(示例):
1、在Eclipse中新建一個工程HelloJni。在eclipse中通過Create project from existing source 方法建立起hello-jni項目。需要注意的是在選擇API level時需要選擇1.5或更高的版本。如圖所示:
2011122816442516.png


2、導入成功後,目錄。

3、運行該代碼
2011122816445111.png


五:在eclipse中集成c/c++開發環境

    1、裝Eclipse的C/C++環境插件:CDT。

    首先登錄http://www.eclipse.org/cdt/downloads.php,找到對應你Eclipse版本的CDT插件的在線安裝地址。

2011122816455385.png

如圖,首先是一個Eclipse C/C++ IDE Indigo SR-1的下載鏈接,該鏈接是用於下載自帶集成了CDT插件的Eclipse開發環境,如果當前計算機上沒有安裝任一版本的Eclipse,則可以選擇下載安裝此版本Eclipse,則無需再另外安裝CDT。
果已經安裝了Eclipse Indigo,則可以使用第二個連接“p2 software repository”在Eclipse的Help菜單下選擇Install New Software並複製如上所述鏈接進行在線安裝。
    2、在線安裝。然後點Help菜單,找到Install New Software菜單

    3、點擊Add按鈕,把取的地址填進去,出來插件列表後,選Select All,然後選擇下一步即可完成安裝。
勾選Group items by category,會按分類出現供安裝的組件。此處可以不需要安裝所有的組件,推薦勾選CDT Main Features分類並勾選CDT Optional Features下的“C/C++ Development Platform”、“C/C++ DSF GDB Debugger Integration”、“C/C++ GCC Cross Compiler Support”、“C/C++ GNU Toolchain Build Support”、“C/C++ GNU Toolchain Debug Support”、“Eclipse Debugger for C/C++”、“Miscellaneous C/C++ Utilities”這些組件,其他組件可以在需要用的的時候再進行安裝.

3、離線安裝
如果在線安裝的方法由於網絡原因或者其他原因不能夠成功完成,則可以通過下載離線安裝包的方式進行安裝,首先需要通過如圖13-10中最下方的鏈接下載CDT安裝包,例如目前最新的8.0.1版本,下載到本地後,在如圖13-11所示的界面中點擊地址欄右方的Add…按鈕,然後點擊Archive按鈕並定位到剛下載的cdt-master-8.0.1.zip壓縮包,再進行安裝即可。

4、安裝完成後,在eclispe中右擊新建一個項目,如果出現了c/c++項目,則表明你的CDT插件安裝成功啦!

2011122816463516.png


六、使用Sequoyah插件來配置
1、Sequoyah插件的官方下載點爲http://www.eclipse.org/sequoyah/downloads/,在該網頁上同樣提供了用於在線安裝的update site地址以及安裝包的下載地址,需要注意的是在安裝界面要確認Group items by category複選框處於未選中狀態,否則可能出現列表爲空(There are no categorized items)的情況。全部勾選列出的安裝包並完成安裝。
http://download.eclipse.org/sequoyah/updates/2.0/

2011122816545915.png

Sequoyah安裝完成後,添加ndk路徑。
在windows-》preferences。

2011122817103631.png


右鍵點擊任意的Android Project會發現在Android Tools中多出了一個“Add Native Support…”選項

2011122816573089.png

Add Native Support…點擊後會彈出一個簡單的設置界面。
2011122817131068.png

JNI編譯環境配置

對於jni項目,需要添加c編譯以及依賴庫。
右擊項目-》Properties。
編譯設置:
在彈出界面中選擇c/c++Build。在builder setting選項卡的build command輸入 “bash <ndk路徑>/ndk-build" 。如下圖
2011122822250852.jpg

依賴庫 選擇Gennera-》paths and。。。-》includes選項卡,選擇GNU c。添加依賴路徑
\android-ndk-r7\platforms\android-8\arch-arm\usr\include

2011122822263449.jpg



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