使用R7版NDK搭建Android開發環境


  廢話不多說,只說幾句。

  寫這個的初衷是因為公司的項目需要,領導要求我搭建一個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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM