登录
  • 欢迎访问 Sharezer Blog

标签:JNI

Android

JNI中多线程回调Java方法问题

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 6年前 (2018-09-25) 4190浏览 0评论 5个赞