NDK技術,Java項目調用C代碼

安裝Cygwin

解壓android-ndk-r5c-windows.zip

解壓cygwin package.rar

Cygwin安裝步驟

運行setup.exe,選第三項從本地安裝cygwin


設置cygwin安裝到那裏


指定安裝程序位置


選中安裝的內容,只選devel就可以了


cygwin與Ndk集成

必須用Editplus打開.profile文件,絕對不能用記事本打開


home文件夾不爲空

D:\ndk\cygwin\home\username\.bash_profile(username是你登錄電腦的用戶名) 增加下面兩行

NDK=/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c(dndk-sdk解壓後的盤符,後面是ndk所在的路徑)

export NDK

home文件夾爲空

如果安裝後home目錄下面是空的,沒有.bash_profile文件,到\cygwin\etc\skel\下找到.bash_profile文件增加下面兩行

NDK=/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c

export NDK

然後拷貝到(C:\Documents andSettings\Administrator),有些win7要拷到c:\users目錄下,重啓cygwin就可以使用了

 

如:我的NDK路徑爲:D:\tarena\1408\program\ndk\android-ndk-r5c-windows\android-ndk-r5c

則:

NDK=/cygdrive/d/tarena/1408/program/ndk/android-ndk-r5c-windows/android-ndk-r5c

 

測試cygwin與Ndk集成是否成功

雙擊運行安裝後的cygwin 有桌面圖標和安裝路徑下的可執行文件

$ cd $NDK

顯示ndk所在文件夾的路徑就說明集成成功

 

編寫c代碼

在windows資源管理器中找到D:\android-ndk-r5c-windows\android-ndk-r5c\samples\hello-jni\jni\hello-jni.c中查看hello-jni.c ,修改代碼

生成.so

tttadasdfdsfdsafd@zjj ~

$ cd $NDK

 

tttadasdfdsfdsafd@zjj/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c

$ cd samples

 

tttadasdfdsfdsafd@zjj/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c/sample

s

$ cd hello-jni

 

tttadasdfdsfdsafd@zjj/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c/sample

s/hello-jni

$ $NDK/ndk-build

Gdbserver      : [arm-linux-androideabi-4.4.3]libs/armeabi/gdbserver

Gdbsetup       : libs/armeabi/gdb.setup

Compile thumb  : hello-jni <= hello-jni.c

SharedLibrary  : libhello-jni.so

Install        : libhello-jni.so => libs/armeabi/libhello-jni.so

在Andori中使用.so

將libs拷到android項目的根目錄中


在android類中添加如下代碼


使用NDK的優點

保護代碼

代碼重用。

C運行速度快

可手動分配內存,如視頻



發佈了29 篇原創文章 · 獲贊 8 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章