android ndk12b和ndk13b之间的android中的jni错误

时间:2016-12-09 08:07:40

标签: android-ndk java-native-interface

我想从带有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的问题是什么?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。 在我的jni界面Android.mk中。 删除没有使用的falgs,并且ndk12b和ndk13b中的每一个都没问题。 enter image description here