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

我认为您的代码中的第二行应该是:

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

分号结尾。它是语法的一部分。我忘了为什么。

一个

于 2013-03-20T16:55:33.520 回答