Android の C から Java メソッドを呼び出す
Android の Java Native Interface (JNI) のコンテキストでは、Java を呼び出すことができますJava から呼び出されるネイティブ メソッドの実行中に C コードからメソッドを呼び出します。以下は、提供されたコード スニペットの詳細な分析で、問題を強調表示し、解決策を提供します:
問題:
ネイティブ コードが、 「CallObjectMethod」関数を使用する「the/package/MainActivity」クラス。ただし、エラー メッセージ「java.lang.NoSuchMethodError: messageMe」は、メソッドが見つからないことを示しています。
分析:
問題は、オブジェクトを渡す方法にあります。 「CallObjectMethod」関数に。コードでは、MainActivity クラスのインスタンスである「obj」オブジェクトではなく、Java 文字列である「jstr」オブジェクトを渡しています。
解決策:
C からオブジェクトのメソッドを呼び出すには、オブジェクト自体を「CallObjectMethod」関数に渡す必要があります。以下の修正されたコードは、変更を示しています。
<code class="c++">jobject result = env->CallObjectMethod(obj, messageMe, jstr);</code>
追加メモ:
上記の問題に対処すると、Android アプリケーションで C から Java メソッドを正常に呼び出すことができるようになります。
以上がJNIを使用してAndroidのCからJavaメソッドを正しく呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。