美文网首页andriod
Android NDK(c/c++调用Java函数)

Android NDK(c/c++调用Java函数)

作者: 60916fc63567 | 来源:发表于2016-07-07 17:00 被阅读90次

1、在Activity中定义方法和调用方法

2、编译在.h文件中,生成对方法的编译

3、在cpp文件中,实现方法

JNIEXPORTvoidJNICALL Java_androids_ndk_com_myapplication_Main3Activity_executeJavaMethod(JNIEnv *env,jobject instance){

jclass clazz;

clazz = env ->GetObjectClass(instance);

//获取实例方法的方法ID

jmethodID instanceMethodId;

instanceMethodId = env->GetMethodID(clazz,"instanceMethod","()Ljava/lang/String;");

//获取静态方法的方法ID

jmethodID staticMethodId;

staticMethodId = env ->GetStaticMethodID(clazz,"staticMethod","()Ljava/lang/String;");

//调用实例方法

jstring instanceMethodResult;

instanceMethodResult = (jstring)env->CallObjectMethod(clazz,instanceMethodId);

//调用静态方法

jstring staticMethodResult;

staticMethodResult = (jstring)env->CallStaticObjectMethod(clazz,staticMethodId);

}

尼玛,各种坑,我真特么想fuck了......

相关文章

网友评论

    本文标题:Android NDK(c/c++调用Java函数)

    本文链接:https://www.haomeiwen.com/subject/dreljttx.html