从 JNI 中,如何获取字符串资源 ID?例如,在 Java 中它看起来像
final int langId = R.string.LANGUAGE;
有自动生成的 R.java:
package com.my.game;
...
public final class R {
...
public static final class string {
public static int LANGUAGE=0x7f06001c;
...
}
...
}
我试过
jclass rcl = jni_env->FindClass("com.my.game.R.string");
assert(rcl);
jfieldID fid = jni_env->GetFieldID(rcl, "LANGUAGE", "(I)");
assert(fid);
int langId = jni_env->GetStaticIntField(rcl, fid);
但是第一个 assert ( assert(rcl)
) 被触发了。