我想知道是否有一种方法可以从本机代码访问 R 类属性,我需要它来读取一些生成的 ID,每次我对项目进行干净构建时可能会更改这些 ID,我不想手动将它们传递给本机部分。
编辑 正如@trashkalmar 所建议的,这里是解决方案:
static const char* const strClassName = "your/app/package/R$string";
clazz = env->FindClass(strClassName);
if (clazz == NULL) {
LOGE("Can't find class %s\n", strClassName);
return result;
}
jfieldID field = env->GetStaticFieldID(clazz , "you_string_resource", "I");
jint value = env->GetStaticIntField(clazz, field);