美文网首页Android JNI
Android Studio环境下 java方法签名的获取

Android Studio环境下 java方法签名的获取

作者: 蓝胖子_Android | 来源:发表于2017-11-20 15:32 被阅读0次

    1,在NDK开发中,JNI层可能需要调用到上层java对象的方法,那我们先看看这个过程是怎么样的。

    JNIEXPORTvoidJNICALL Java_xime_com_jniobjdemo_NativeWuGougou_Hi_1Jni

    (JNIEnv * env,jclass jcls,jobject jobj){

    jclass xmClazz=env->GetObjectClass(jobj);

    //注意:"(Ljava/lang/String;)V" 这个就是方法java层xm对象 的printfSelf(String hert)方法的签名。这个签名根据方法名和参数的不同会有差别。

    jmethodID  printfId=env->GetMethodID(xmClazz,"printfSelf","(Ljava/lang/String;)V");

    charc[10] ="wmx";

    jstring jname = env->NewStringUTF(c);

    env->CallVoidMethod(jobj,printfId,jname);

    }

    2,如何获取这个方法签名

    第一步,先Build一下你的工程。

    第二步,在app /build目录中可以查看到到你对应的.class文件

    第三步:打开android studio的命令控制台,如图:

    第四步,cd到上述目录中,执行javap -s xime.com.jniobjdemo.Hei_XM  (注意:xime.com.jniobjdemo.Hei_XM为 Hei_XM的类全名,如果你直接进入到Hei_XM的当前文件夹中则直接使用类名即可)。

    E:\learn\android\demo\JniObjDemo\app\build\intermediates\classes\debug>javap -s xime.com.jniobjdemo.Hei_XM

    得到结果如图:

    相关文章

      网友评论

        本文标题:Android Studio环境下 java方法签名的获取

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