1. 程式人生 > >Android中NDK的so檔案產生和使用

Android中NDK的so檔案產生和使用

使用工具: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檔案對應不同的手機型號,方便起見,最好把這四個資料夾都拷貝。

 

2.4呼叫so檔案,檢視效果

 原始碼下載