1.首先基本需要有Android SDK.
2.說明一下SDK與NDK差別, Android SDK 可以產生使用JAVA寫的應用程式, 而Android NDK(Native development kit)主要是可以利用C/C++來執行程式. 使用方式為透過JAVA建立JNI來呼叫C/C++所建立的動態函式庫來執行.
3.要建立Native程式在windows作業系統中需要有Cygwin, 搭配Windows版的NDK.
4.安裝Cygwin, 可以參考此文章安裝.
5.安裝NDK, NDK官方網站上有連結可下載.
android-ndk-r8-windows.zip
6.NDK下載完後,直接解縮在Cygwin目錄下即可.
7.使用文字編輯器開啟, 在Cygwin安裝目錄中的I:\cygwin\home\{使用主名稱}\.bash_profile
在最後一行加上以下四行, 編輯完後存檔.
PATH=/android-ndk-r8:${PATH} NDK_ROOT=/android-ndk-r8 NDK_Sample=/android-ndk-r8/samples export PATH NDK_ROOT NDK_Sample
8.執行I:\cygwin\Cygwin.bat, 進入Cygwin shell, 切換目錄到/android-ndk-r8/samples/hello-jni/
執行命令 ndk-build, 會開始進行編譯hello-jni, 會產生動態函式庫libhello-jni.so,成功畫面如下.
9.以上已將必要軟體安裝完成, 可以開始進行第一個JNI程式.
10.NDK安裝目錄中已有hello-jni專案, 我們可開啟此專案.
Eclipse功能表->File->New->Android Project. 選擇Create project from existing source,
點Browse選擇NDK安裝目錄中的hello-jni目錄
I:\cygwin\android-ndk-r8\samples\hello-jni, 會自動帶出此專案資料.按下Finish繼續.
11.在Eclipse的Package中應該會出現Hello-jni專案了, 並可看到lib中已有我們之前compile產生的libhello-jni.so檔案.
12.接著開始設定自動編譯C程式的部份,在專案名稱按下右鍵,進入設定.
Properties->Builders, 選擇New,跳出選擇視窗,選擇Program, 按下OK.
13.出現設定視窗, 依欄位填入資訊:
Name: JNI_Builder
Locations:I:\cygwin\bin\bash.exe
Working Directory:I:\cygwin\bin
Arguments: --login -c "cd $NDK_Sample/hello-jni && ndk-build"
這裡的$NDK_Sample就是在之前編輯.bash_profile時,填入的目錄位置.所以不同專案需要設定 不同的路徑.
14.設定還沒結束, 必須要設定讓Eclipse知道什麼時候要啟動編譯.同樣在此視窗中切換到Refresh頁面.勾選Refresh resources upon completion.選擇Specific resources.
15.在跳出的視窗(Edit Working Set)中, 選擇HelloJni下的libs目錄.按下Finish離開.
16.切換到Build Options, 勾選下列設定:
Allocate Console
Launch in background
After a "Clean"
During manual builds
During auto builds
Specify working set if relevant resources.
17.點選Specify Resources, 選擇HelloJni下的jni目錄, 當此目錄中檔案有變動時, 即啟動編譯.
18.選Finish結束設定, 按下OK, 這時Builder設定視窗中會出現JNI_Builder.
19.按下OK, 離開設定視窗, 回到Eclipse主畫面後, 會開始自動編譯.
20.此時可以開啟hello-jni.c, 編輯內容然後存檔, Eclipse即會開始自動編譯.
No comments:
Post a Comment