我想从带有jni接口的java对象获取java float。
JAVA CODE:
public class JavaObject immplements Serializable {
public float floatfiled1 = 0f;
public float floatfield2 = 0f;
}
C ++中的JNI代码:
jclass jclazz = jenv->FindClass("JavaObject");
jfieldID field_id = jenv->GetFieldID(jclazz, "floatfiled1", "F");
float test_v = jenv->GetFloatField(javaobject, field_id);
LOGD("[JNI] test_v=%f", test_v);
test_v在许多Android手机中总是得到0.0。甚至在像XIAOMI3这样的手机中,也能获得非常大的数字。
使用ndk12b时缺少问题。 那么,当从java对象获取float字段时,ndk13b的问题是什么?
答案 0 :(得分:0)
我已经解决了这个问题。 在我的jni界面Android.mk中。 删除没有使用的falgs,并且ndk12b和ndk13b中的每一个都没问题。 enter image description here