您的位置:首页 > 移动开发 > Objective-C

JNI WARNING: CallObjectMethod expected return type 'L'

2016-07-15 00:05 1126 查看
初学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代码发现问题:
void
Java_study_jnidemo_JniDemoActivity_jniImport (JNIEnv
*
env,
jobject
thiz
){
          
jclass
cls
=(*env)->
GetObjectClass(env
,thiz);
          
if(cls
!=NULL){
                   
jstring
str
;
                   
jmethodID
method3=(*env
)->GetMethodID(
env,cls
,"import",
"()V");
                   
if(method3
!=NULL){
                             (*
env)->CallObjectMethod
(env,
thiz,method3
);
[align=left]                             [/align]
[align=left]                   }[/align]
[align=left]          }[/align]
[align=left]}[/align]
[align=left]把[/align]
                             (*
env)->CallObjectMethod
(env,
thiz,method3
);
改成
 
                             (*
env)->CallVoidMethod
(env,
thiz,method3
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: