ネイティブコードからRクラス属性にアクセスする方法があるかどうか疑問に思っています。プロジェクトのクリーンビルドを実行するたびに変更される可能性のある生成された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);