私は NDK を使用してネイティブ android プロジェクトに取り組んでいます。私のコードは C のみで、JNI 経由で Java 関数を呼び出す必要があります。
試してみたところ、、、などのクラスからいくつかのメソッドを呼び出すことができandroid
ます。しかし、使用しようとすると例外が発生します。view
WindowManage
TextView.setText
java.lang.NoSuchMethodError
コードは次のとおりです。
JNIEnv* jni;
state->activity->vm->AttachCurrentThread(&jni, NULL);
jclass activityClassMine = jni->FindClass("android/widget/TextView");
if(!(activityClassMine))
LOGI("can't find TextView class...");
jmethodID SetTextColour = jni->GetMethodID
( activityClassMine
, "setTextColor"
, "(I)V"); //this works !!!!
if(!(SetTextColour))
LOGI("textColour Failed...");
jmethodID getSetText = jni->GetMethodID
( activityClassMine
, "setText"
, "(Ljava/lang/CharSequence;)V");
if(!(getSetText)) //failed
LOGI("setText Failed");
メソッドの署名を確認しましたが、問題ありません。このメソッドで使用可能な他の署名を試しましたが、成功しませんでした...