2017-11-09 14 views
2

jobjectArrayを内部に持っていますが、私はjobjectArrayを取得するためにGetObjectFieldを使用しています。jni jobjectArrayからjobjectにアクセスする


jfieldID representationArrayF = env->GetFieldID(className, "representationArray", "[Lcodec/video/initial/MMRepresentation"); 
jobject objectArr=(jobject)env->GetObjectField(jpresentationInfo, representationArrayF); 
jobjectArray* objectArray=reinterpret_cast<jobjectArray*>(&objectArr); 
jobject representation=(jobject) env->GetObjectArrayElement(*objectArray, i) 
+0

は、オブジェクトの情報にアクセスするためのこちらをご覧ください必要はありませんように、エンド

のセミコロンは、簡単なパラメータで知りませんJavaとCの間で配列を渡す感覚を得るために:https://github.com/mkowsiak/jnicookbook/tree/master/recipeNo026 – mko

+0

どうすればよいですか?そして何が起こっている? –

+0

@MarcosVasconcelos GetObjectArrayElement(* objectArray、0)中にエラー[V [libjvm.so + 0x6de77c] jni_GetObjectArrayElement + 0xcc]が発生します。 – vipin

答えて

0

それは簡単なパラメータを持つが、それは代わりに[Lcodec /ビデオ//MMRepresentation初期、私は配置する必要があります[Lcodec /ビデオ/初期/ MMRepresentationで動作していない配列のパラメータで結構です愚かな間違いです; http://jnicookbook.owsiak.org/recipe-No-020/ここ:IIIセミコロンは

+0

モーラル:推測しないでください。 'javap -s'の出力を使用してください。決して間違ってはいません。 – EJP

+0

ありがとうございます:) – vipin

+0

すべてのオブジェクトには 'L +フルパス名+;'が必要です。プリミティブのみがその値を持つ –

関連する問題