2011-11-08 6 views
1

ネイティブコードからRクラス属性にアクセスする方法があるかどうかは、プロジェクトのクリーンビルドを行うたびに変更される可能性のある生成済みIDを読み取る必要がある私はそれらを手動でネイティブパーツに渡さないことを好みます。ネイティブコードから生成されたAndroid Rクラスにアクセスする

EDIT ここ@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); 
+0

具体的には、実際に実装しようとしているものは何ですか?問題を正確に分かち合うかどうかを正確に理解するのは簡単でしょう。 –

+0

これは一般的な問題です:資産リソースにアクセスできるような方法で、手動でネイティブパーツに渡すことなく、すべてのR属性にアクセスしたいと思います。 – dmarcato

答えて

0

アクセスしますRクラスと他のクラスとそのフィールドをお読みください。

+0

本当にとてもシンプルだった...ヒントありがとう! :) – dmarcato

関連する問題