JNI WARNING: CallObjectMethod expected return type 'L'

来源:互联网 发布:淘宝卖衣服货源 编辑:程序博客网 时间:2024/06/06 11:44
初学C调用java代码,出错如下:
07-14 10:36:15.028 27654-27654/study.jnidemo W/dalvikvm:            JNI WARNING: CallObjectMethod expected return type 'L'
07-14 10:36:15.028 27654-27654/study.jnidemo W/dalvikvm:              calling Lstudy/jnidemo/JniDemoActivity;.importCert ()V
07-14 10:36:15.028 27654-27654/study.jnidemo W/dalvikvm:              in Lstudy/jnidemo/JniDemoActivity;.jniImportCert:()V (CallObjectMethod)

仔细检查C代码发现问题:
voidJava_study_jnidemo_JniDemoActivity_jniImport (JNIEnv*env,jobjectthiz){
          jclasscls=(*env)->GetObjectClass(env,thiz);
          if(cls!=NULL){
                   jstringstr;
                   jmethodIDmethod3=(*env)->GetMethodID(env,cls,"import","()V");
                   if(method3!=NULL){
                             (*env)->CallObjectMethod(env,thiz,method3);
                             
                   }
          }
}
                             (*env)->CallObjectMethod(env,thiz,method3);
改成
 
                             (*env)->CallVoidMethod(env,thiz,method3);
0 0
原创粉丝点击