Доступ к сгенерированному классу Android R из нативного кода - PullRequest
1 голос
/ 08 ноября 2011

Мне интересно, есть ли способ получить доступ к атрибуту класса R из нативного кода, мне нужно, чтобы он считывал некоторые сгенерированные идентификаторы, которые могут меняться каждый раз, когда я делаю чистую сборку своего проекта, и я предпочел бы не передавать ихвручную к исходной части.

РЕДАКТИРОВАТЬ Как подсказывает @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 Ответ

1 голос
/ 22 ноября 2011

Доступ к вашему классу R и чтение его полей, как и для любых других классов.

...