从本机代码访问生成的Android R类

时间:2011-11-08 17:41:50

标签: android resources java-native-interface native-code

我想知道是否有一种方法可以从本机代码访问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);

1 个答案:

答案 0 :(得分:1)

访问您的R类并将其字段读取为任何其他类。