NDK開發

首先介紹下什麼是JNI,JNI全名jni java native interface java本地開發接口,它是用來讓java語言和c/c++的語言相互調用的一種技術。


下面介紹下NDK的開發流程:

把ndk解壓到一個文件夾下, 並且在系統的環境變量path中追加ndk的根目錄: C:\IDE\android-ndk-r9

1. 在java代碼中聲明native方法.

2. 在window -> preferences -> Android -> NDK 把ndk的根目錄配置進去.
   右鍵工程 Android Tools -> Add Native Support 寫進去一個函數庫的名字.

3. 使用javah命令生成.h的頭文件, 把頭文件拷貝到工程的jni目錄下.

4. 實現c代碼: 把生成的.h頭文件引入進來(使用雙引號方式引入).

5. 處理錯誤和代碼提示: 右鍵工程 -> Properties -> C/C++ General -> Paths and Symbols -> Includes -> Add 把android-ndk-r9\platforms\android-9\arch-arm\usr\include配置進去.

6. 把c代碼對應native方法實現了.

7. 在java代碼中加載.so庫文件, 調用native方法.



C++開發流程.

在c的語法中JNIEnv是JNINativeInterface*結構體的一級指針變量.

(**env).NewStringUTF(env, "hello from c!!");

在c++語法中JNIEnv是_JNIEnv

(*env).NewStringUTF("hello from c++");



c端返回給java中文: 把工程所有的文件修改成utf-8的編碼.

如果修改完編碼之後, 工程不能運行. Scanner Configration Builder
解決方法: 把工程close project 再 open project.

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