星期四, 3月 30, 2017
[ Android] Android NDK (一) 基本介紹
安裝方式
然後要加入ndk path時如果遇到錯誤,
就在ndk的資料夾內建一個檔案"ndk-build"。
那就會過了。
在實作方面,
一開始在c檔裡要宣告android的格式,
這樣java檔才能透過jni取得c的function,
#include <jni.h>
JNIEXPORT jstring JNICALL
Java_com_example_ndkdemo_MainActivity_stringFromCJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
記得他的名字和activity和function name要填對,
不然也會讀取錯誤。
而 Android.mk就像之前寫那樣就行了,
把你要的c檔寫進去,再把他build成shared library。
之後在compile app時,ndk就會一起把library build出來,
並放到各個平台的資料夾內,
(如果沒指定要build哪個target的話)
然後在java檔內,要宣告去使用jni library,
一開始先宣告function name,
public native String stringFromCJNI();
然後宣告說要去load哪一個library,
static{
System.loadLibrary("c_lib");
}
最後直接使用就可以了,
tv.setText(stringFromCJNI());
出來的結果就會在text上印出library回傳回來的string。
SourceCode
Ref 1
Ref 2
Ref 3
Ref 4
訂閱:
張貼留言 (Atom)

沒有留言:
張貼留言