当前位置:编程学习 > wap >>

关于android ndk通过jni调用java函数的问题

如题,我准备通过c++调用java的一个静态函数,得到以下错误

10-21 01:49:44.043: WARN/dalvikvm(278): JNI WARNING: expected return type 'L'
10-21 01:49:44.043: WARN/dalvikvm(278):              calling Lcom/mahjong/Data;.setData (Ljava/lang/String;)V
10-21 01:49:44.043: WARN/dalvikvm(278):              in Lcom/mahjong/LauncherActivity;.OnTimerHandler ()V                   (CallStaticObjectMethodV)

对应的调用代码如下:
jstring str = env->NewStringUTF(Databuffer);
            jclass class_Data = env->FindClass("com/mahjong/Data");
            jmethodID id_getSetData = env->GetStaticMethodID(class_Data,"setData","(Ljava/lang/String;)V");
            jobject obj_ret = env->CallStaticObjectMethod(class_Data,id_getSetData,str);

java中的函数原型 public static void setData(String s){this.s=s}

请问错误可能出在哪? --------------------编程问答-------------------- 我也想知道,帮顶 --------------------编程问答-------------------- 返回类型 Int要用这个,并不是所有都要用CallObjectmethod

CallIntMethod --------------------编程问答--------------------
特此登录,感谢2楼的回复,正解!
引用 2 楼  的回复:
返回类型 Int要用这个,并不是所有都要用CallObjectmethod

CallIntMethod
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,