1. 背景
在JNI中使用中需要在一个c层的回调方法中调用Java层的静态方法,一开始的设想是初始化的时候保存JNIEvn与jclass为全局变量,需要的时候直接使使用。在实际使用中发现,直接使用会出现奔溃。
初步猜测可能是多线程引起。
2. 问题排查
2.1 步骤1 子线程中使用全局JNIEnv与jclass
使用方法
jmethodID mid = (*g_env)->GetStaticMethodID(g_env, g_cls, "print", "(Ljava/lang/String;)V");
jstring param = (*g_env)->NewStringUTF(……继续阅读 »
sharezer
5年前 (2018-09-25) 4102浏览 0评论
5个赞