Android ndk r4b開發環境搭建

資源準備
說明:本文以Mac系統爲例,所以準備的軟件都需要是適合Mac版本的.
Android SDK:android-sdk-mac_86
Android NDK: android-ndk-r4b-darwin-x86
Eclipse
ADT
CDT
ANT
搭建Android SDK開發環境
Android SDK還發環境搭建步驟:
1:Jdk安裝,要求1.5以上.一般的Mac OS中已經預裝了jdk,我的是jdk 1.6.用"java -version"在terminal可以查看.
2:eclipse IDE安裝. 需要去Eclipse官網下載,我下載的是eclipse 3.5.2.解壓到合適的路徑,不需要編譯安裝,直接運行目錄下的eclipse.app文件就可以啓動eclipse.
3:android sdk安裝. 到Android.同eclipse一樣,只需要解壓到合適目錄.同時需要將該目錄下的tools路徑加到PATH中.編輯~/.bash_profile, 添加:PATH=${PATH}:/{your-android-sdk}/tools.

4: 安裝Android Developer Tools. 打開Eclipse,點擊Help菜單,找到Install New Sofeware,在Add Site中添加一個location爲:http://dl-ssl.google.com/android/eclipse/,然後會出現Android DDMS,和Android Development Tools,選擇並Install.重啓之後可以選擇”Eclipse->偏好設置”,然後選擇Android項來指定Android SDK的安裝目錄.如下圖所示.


5: 開啓terminal,使用"android list targets"發現沒有可以sdk target.需要在eclipse的window菜單裏面打開 Android SDK And AVD Manager窗口,找到avilable packages,選中相關的packages.如下圖所示.


6:等待下載.完成之後可以在Install packages中找到自己已經安裝的包.如下圖所示.


7:使用"android create avd --name sdk_2_2_version  --target 8",創建avd.創建之後即可在”Virtual Devices”中找到我們已經創建的AVD,如下圖所示.


現在可以編寫HelloWorld來測試環境了,這裏筆者在搭建SDK開發環境時將Eclipse和android sdk都放置在了”/Developer/Android/”目錄下,如下圖所示.


搭建Android ndk開發環境
從上面的圖片大家可以看到,我們實際上也將Android NDK安裝到了同一個目錄下,NDK的安裝很簡單,就是將下載的包進行解壓到指定位置即可,解壓之後我們一般需要配置環境變量,這裏我們將環境變量的配置放在最後一起來配置.
設置環境變量
運行命令” pico .bash_profile”來打開或創建.bash_profile文件,然後輸入如下圖的代碼.


安”control+x”退出,並輸入”Y”表示確認保存,然後退出(必須退出重新打開才行),其中我們將sdk的tools目錄和ndk的安裝目錄都加入了環境變量,方便我們使用,同時設置了ANDROID_NDK_ROOT和ANDROID_SDK_ROOT目錄.
到這裏我們就完成了NDK的環境搭建,android ndk r4開始我們並不需要使用” build/host-setup.sh”命令了,接下來我們將介紹如何使用ndk來編譯.這裏需要注意的是對於ndk提供的例子沒有放置在apps目錄下面了,而是放置在samples中,爲了兼容,同時也支持將項目文件放置在apps目錄下面.下面我們來看如何編譯,運行和調式.
編譯Hello-Jni工程
進入ndk下面的” samples/hello-jni/”目錄,然後使用命令” ndk-build”即開始編譯,出現如下圖所示,則表示成功.如果不成功,可能是環境沒有設置正確,請檢查並重新設置.


運行Hello-Jni項目
下面我們首先生成apk文件,生成apk文件需要使用ant,由於Mac系統預裝了ant所以我們少一步,沒有安裝的安裝一下便可,注意安裝之後還是要將ant目錄下買了的bin目錄加入環境變量才行.
現在使用” cd ../”命令返回hello-jni目錄的上一個目錄,然後使用” android update project --path hello-jni”命令來更新hello-jni工程,就是生成一個build.xml文件來編譯生成apk文件.在更新了工程之後,需要進入工程的根目錄,使用cd hello-jni命令即可,下面進入最關鍵的一步,編譯apk文件,使用”ant debug”命令即可,如果出現如圖所示,則表示編譯成功.


現在你可以在” samples/hello-jni/bin”中找到一個生成的apk文件,現在可以鏈接手機或者模擬器來進行測試了.
調式Hello-jni工程
在android ndk r4開始我們可以使用gdb來對jni代碼進行單步調試了,關於gdb調試我們就不多說了,網上去搜索吧,這裏我們看一下如何來調試.
進入” samples/hello-jni/”目錄,然後執行”ndk-gdb”命令,這時,你的手機或者模擬器的hello-jni工程是否已經啓動了,這時終端也進入了gdb調試界面,如下圖所示.,注意要在xml中設置debug爲true才能進行調試哦.


在Eclipse中集成NDK開發
因爲大多數人在些代碼時可能使用的是記事本,,有好的IDE爲什麼不用呢?那這裏我們就使用Eclipse來編寫ndk程序,在開始之前我們需要進行一些必要的配置.
1:安裝CDT,使得Eclipse具有編輯C++程序的功能.
2:我們推薦大家可以安裝anyedit插件 
http://andrei.gmxhome.de/anyedit/下載並導入eclipse中.當然這不是必須的,只是方便我們在Eclipse中編輯各種類型的文件.
3:新建一個ndk的工程,這裏我們就使用hello-jni爲例來演示即可,就不在單獨新建了,將hello-jni導入到Eclipse中.然後按照如下步驟操作:
右擊項目,選擇“properties”
在左邊的列表中選擇“Builders”
在右側,點擊“New…”按鈕
在列表框,選擇“Program”作爲配置類型;點擊“OK”按鈕,進入下一個配置對話框。
命名name爲“NDK Builder”
選擇Location爲“/bin/bash”,如果是windows使用cygwin則填寫” c:\cygwin\bin\bash.exe”其中表明cygwin安裝於c:\cygwin中,這個路徑可以根據自己的情況更改.
 “Working Directory”爲“/bin”,同樣如果在windows上使用cygwin則填寫” c:\cygwin\bin”.
“Arguments”爲:
--login -c "cd $ANDROID_NDK_ROOT/samples/hello-jni && ndk-build"
確保在login前有兩個連接號,-c後面的引號。 ANDROID_NDK_ROOT爲NDK的安裝路徑….整個界面操作之後如下圖所示.


接着打開“refresh”的tab面板:
選中“Refresh resources upon completion”
選擇“Specific resources”
點擊“Specify resources”按鈕,選擇你項目的lib目錄
選中“Recursively include sub-folders”
操作完成之後如下圖所示.


接着打開“Build Options”的tab面板:
選中“Allocate Console”
選中“Launch in background”
選中“Run the builder After a Clean”
選中“Run the builder During manual builds”
選中“Run the builder During auto builds”
選中“Specify working set of relevant resources”
點擊“Specify Resources”按鈕,選擇你項目的JNI目錄,幷包含所有的文件。
完成之後如下圖所示.


點擊“OK”按鈕。完成配置,這時當我們在Ecisplse中改動一下C++代碼,Eclipse都回自動調用ndk來編譯,並在控制檯輸出編譯信息,如下圖所示.然後自動更新生成的so文件.


這裏處理都不是必須的,只是爲了我們方便開發而做的.當然爲了項目需求可能還會有更好的方法,隨着項目的進度,我們會更新一些開發中遇到的問題.先寫到這裏,謝謝大家支持!
其實要是在ndk中開發opengl es程序也可以直接在windows中使用VC之類的工具先開發,完成之後再用ndk來編譯,這樣調試就方便多了。

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