Android + NDK + cygwin 編程

首先假設你已經安裝好瞭環境,網上資料很多,聰明的你會的。

1.       在eclipes編寫帶有Native的類,編譯成class文件

Ex:

 

[java] 
publicclass JNI 
 

 
    publicnativevoid write(); 
 
    publicnative String sayHello(); 
 
    publicnativeint plus(int a, int b); 
 

 

2.       在cygwin中打開文件的目錄到class的包名的上一級

Ex:

$ cd  /cygdrive/f/AndriodWorkSpace/TestJni/bin/classes

然後生成頭文件

$ javah -classpath . -jni com.emg.mini.JNI

 

生成的頭文件在:

 

頭文件內容:

 

PS:當然也可以在cmd中生成頭文件:

 

3.     根據生成的頭文件寫出對應的.c文件或.cpp文件,註意函數名的命名規則Java_包名_類名_函數名:

 

 

4.     編寫Android.mk文件

 

5.     把編寫好的文件放入jni文件夾中

6.     接下來最重要的一步,生成庫文件.so文件

 在Cygwin中打開到剛剛的jni目錄:

 

輸入$NDK/ndk-build,NDK是你配置cygwin中寫的名字最後兩句:

我的就是:

 

 

 

編譯好的結果如下:

 

 

會在你的目錄下生成obj,libs文件夾。

主程序:

 

這時運行你的程序,發現什麼瞭嗎?

 

You May Also Like