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
);
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
);
相关文章推荐
- Effetive Objective - C 1.Objective 7.在对象内部尽量直接访问实例变量
- CodeForces Gym 100989J Objects Panel (A)
- [精通Objective-C]块(block)
- Effetive Objective - C 1.Objective 6.属性
- System.gc()与Object.finalize()的区别
- commons-pool实战之 GenericObjectPool和GenericKeyedObjectPool
- The type java.lang.Object cannot be resolved.
- OBJECT_TYPE结构
- 关于json解析问题(JSONObject结合map的使用)
- Effetive Objective - C 1.Objective 3.多用字面量语法
- Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.xxx>'
- Effetive Objective - C 1.Objective 2.类的头文件中尽量少引入其他类的头文件
- IValidatableObject实现model自定义验证
- python json转换异常:“In order to allow non-dict objects to be serialized..."
- Effetive Objective - C 1.Objective 概述
- 【转载】V$LOCK 和 V$LOCKED_OBJECT 的区别
- 《OpenGL ES 2.0 Programming Guide》第8章 “最简单的Vertex Buffer Object”示例代码【C语言版】
- HTML <object> 标签
- PHP Object 转 Array,Json 转 Array
- JSONObject,JSONArray取值