JNI&NDK
1322 ワード
JNI:Java Native Interface(Javaローカルインタフェース、ローカルインタフェースCとC++が開発したインタフェース)→呼び出しインタフェースNDK:Native Development Kit(オリジナル開発キット)→ツールセット
一:NDKを使ってsoファイルを生成する
一:NDKを使ってsoファイルを生成する
1. , native 。
2. app build.gradle
Android{}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
jni.srcDirs = ['src/main/jni', 'src/main/jni/']
}
}
3. gradle.properties android.useDeprecatedNdk=true
4. app/src/main :cd app/src/main javah :javah -d jni -classpath ./Java .
<< : -d jni jni ( \app\src\main , .h \app\src\main\jni )
-classpath ./java java >>
5. c c++ , , demo 。
#include
#include
#include
// string , JNICALL java_ _ _ (JNIEnv *env,jobject thiz)
jstring JNICALL Java_com_yunange_drjing_JniTest_getPackageName(JNIEnv *env,jobject thiz) {
// *env( ->)
return (*env)->NewStringUTF(env, "I`m bug_king!");}
6. ndk-build so 。
7. system.System.loadLibrary("so ");