1
jqlインターフェイスを使用してJavaオブジェクトからjava floatファイルを取得したいと思います。androidのjniエラーndk12bとndk13bの間
Javaコード:C++で
public class JavaObject immplements Serializable {
public float floatfiled1 = 0f;
public float floatfield2 = 0f;
}
JNI CODE:
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常に多くのアンドロイドの携帯電話に0.0を得ます。 XIAOMI3のようないくつかの携帯電話でさえ、非常に大きな数字を取得します。
ndk12bを使用しているときに問題がありません。 Javaオブジェクトからfloatフィールドを取得すると、ndk13bの問題は何ですか?
完全修飾クラス名を 'FindClass()'に渡す必要があります。 – timrau