Android中NDK的so檔案產生和使用
阿新 • • 發佈:2019-01-07
使用工具:eclipse
1.生成so檔案
1.1.開啟Eclipse,新建一個Android工程
FileàNewàAndroid Application Project
一路Next下去,直到Finish。
1.2.新增so檔案
工程右鍵--Android Tools--AddNative Support...--輸入lib.so檔名
這時候工程就會多一個jni的資料夾,jni下有Android.mk和**.cpp檔案
Android.mk是NDK工程的Makefile,**.cpp就是NDK的原始檔。
1.3.新增Application.mk檔案到jni資料夾中
在檔案中填寫如下內容:
1.4.根據需要修改Android.mk
多個原始檔使用空格隔開,例如:LOCAL_SRC_FILES:= test.c NdkTest.cpp
預設如下:
1.5.編寫C/C++檔案
函式名比較長但是完全按照:java_pacakege_class_mathod形式來命名
這個例子中,檔案路徑:MyNdkSoFileàjniàMyNdkSoFile.cpp
1.6.直接測試生成的so檔案
static:表明程式開始執行的時候會載入該NDK, static區宣告的程式碼會先於onCreate方法執行。
native:這個關鍵字表示這個方法是本地方法,也就是說這個方法是通過原生代碼(C/C++)實現的,在java程式碼中僅僅是宣告。
測試沒問題,說明我們的so檔案沒問題。
2.使用SO檔案
2.1.新建一個Android工程
2.2.修改生成so檔案程式中C/C++檔案中的函式名
具體參考上面1.5章節。
修改完成後,重新編譯生成新的so檔案
2.3拷貝so檔案到應用程式中
四個資料夾裡面的so檔案對應不同的手機型號,方便起見,最好把這四個資料夾都拷貝。