0

私のJavaクラス「PMS」にはHashMap変数「AA」があります。今度は、cpp ファイルの「AA」にアクセスしたいと思います。これを解決するために JNI を使用します。これが私のコードです:

jclass clazz=env->FindClass("com/pms/PMS");
jfieldID field=env->GetStaticFieldID(clazz, "AA", "Ljava/util/HashMap");
jobject objPackages=env->GetStaticObjectField(clazz,field);

しかし、「java/lang/NoSuchFieldError」が表示されます。つまり、「AA」が見つかりません。次に、これを試します:

jclass clsPackages=env->FindClass("com/pms/PMS$AA"); 

今度は「java/lang/NoClassDefFoundError」が出ます。どうすればいいですか?

4

1 に答える 1

1

コードの2行目は次のようになります。

jfieldID field=env->GetStaticFieldID(clazz, "AA", "Ljava/util/HashMap;");

最後にセミコロン。これは構文の一部です。理由を忘れました。

a

于 2013-03-20T16:55:33.520 に答える