使用R7版NDK搭建Android開發環境[不使用Cgywin]

廢話不多說,只說幾句。

寫這個的初衷是因爲公司的項目需要,領導要求我搭建一個Android的開發環境(Eclipse + NDK),我算上找資料,下載,安裝,配置環境及寫文檔,正好用了一個工作日。先把整理好的文檔編輯後發在這裏,一是因爲我覺得這樣會幫到一些人,二麼,好久沒寫博客,手癢癢了!

好了,現在開始!

—————————————————分割線———————————————

安裝流程

1. 安裝JDK.

2. 安裝Eclipse(eclipse-cpp-indigo-SR1-incubation-win32.zip,解壓即可使用。注:該版本集成CDT)

3. 搭建Android開發環境(參考文檔:http://developer.android.com/sdk/installing.html

3.1 安裝Android SDK(installer_r16-windows)

3.2 安裝Eclipse的ADT插件.

3.2.1 啓動Eclipse, 選擇菜單項的Help->Install New Software

3.2.2 點擊Add, 輸入名稱,然後在URL中輸入:

http://dl-ssl.google.com/android/eclipse/,OK!

3.2.3 選擇需要更新的工具,Finish, 安裝完成後重啓Eclipse。

3.3 配置ADT插件

3.3.1 啓動Eclipse,選擇菜單項的Window -> Preferences

3.3.2 選擇Android,在SDK Location中選擇SDK的安裝目錄,OK!

完成後重新啓動Eclipse。

3.4 添加平臺和其他組件

3.4.1 啓動Eclipse,選擇菜單項的Window -> Android SDK Manager

3.4.2 根據實際需要選擇相應組件,然後點擊install。

默認可安裝以下組件,如圖一所示:

(圖一)

3.4.3 創建一個Android 虛擬設備。選擇菜單項的Window ->AVD Manager.

New ,新建一個虛擬設備,具體參數請自行設置。如圖二所示:

4. 安裝NDK(R7, android-ndk-r7b-windows.zip, 解壓即可使用)

注:R7之前的版本,必須要安裝Cygwin才能使用NDK。從R7開始,Windows版本的NDK提供了一個ndk-build.cmd腳本,可以直接利用這個腳本編譯。想要做到這一點,只要爲Eclipse Android工程添加一個Builder,就能實現Eclipse的自動編譯NDK。

(圖二)

5. NDK實例的實現

5.1 啓動Eclipse,新建Android工程(此處名爲TestNDK),如圖三所示:

(圖三)

5.2 在TestNDK工程的根目錄下新建文件夾jni,之後找到NDK的安裝目錄(\samples\hello-jni\jni)下的 Android.mk和hello-jni.c 這兩個文件,將其拷貝到TestNDK->jni文件夾下面。

5.3 找到NDK的安裝目錄(\samples\hello-jni\src\com\example\hellojni)下的HelloJni.java文件,將其拷貝到TestNDK工程src文件夾對應的包下。

5.4 修改項目文件AndroidManifest.xml,將activity標籤下的 android:name =“.TestNDKActivity”修改爲 android:name =“.HelloJni”。(注:此處的

TestNDKACtivity爲項目自動生成的,項目不同,此處也會不同)

5.5 新建並配置一個Builder

5.5.1 點擊Project->Properties->Builders->New,新建立一個Builder。在彈出的對話框上面點擊Program,OK!如圖四所示:

(圖四)

5.5.2 在彈出的對話框【Edit Configuration】中,配置選項卡【Main】:

Location中需要填入nkd-build.cmd的路徑(NDK安裝目錄下)。

Working Diretcoty中需要填入TestNDK的工程根目錄。

如圖五所示:

5.5.3 在彈出的對話框【Edit Configuration】中,配置選項卡【Refresh】:

勾選“Refresh resources upon completion”,

勾選“The entire workspace”,

勾選“Recuresively include sub-folders”。

(圖五)

5.5.4 在彈出的對話框【Edit Configuration】中,配置選項卡【Build Options】:

勾選“After a “Clean””,

勾選“During manual builds”,

勾選“During auto builds”,

勾選“Specify working set of relevant resources”。

點擊“Specify Resources…”勾選TestNDK工程的“jni“目錄 ,Finish!

保存設置,OK!

5.5.5 右鍵點擊工程TestNDK,Build Project。當在console裏面看到如圖六所示的信息,則表示一切正常,此時就已經是自動編譯代碼了。

(圖六)

5.5.6 右鍵點擊工程TestNDK,Run As -> Android Application, 運行程序。當出

現圖七所示信息時,NDK實例運行成功!

(圖七)

6. 可能出現的問題

如圖八所示:

(圖八)

在 c 文件中,函數名這樣定義:

Java_testNDK_android_HelloJni_stringFromJNI ,是因爲這個是 JNI 的標準,定義需要按照如下格式:

Java_packagename_classname_methodname ,

例如: Java_testNDK_android_HelloJni_stringFromJNI

—————————————————分割線—————————————————

由於本人水平有限,所寫文字肯定會有不妥之處,歡迎牛人指出答疑,我就在此拋磚引玉了,謝謝~

歡迎轉載,轉載請註明轉自:http://www.cnblogs.com/xiaomiao

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