1

関数を介してRegisterNatives、ネイティブ関数を Java メソッド シグネチャにバインドできます。現在、別のライブラリが呼び出さRegisterNativesれ、この関数をネイティブ C から呼び出したいという状況があります (署名がプライベートとマークされているため、Java から呼び出すことはできません)。現在登録されているすべての関数を取得する方法はありますか?

4

1 に答える 1

0

  • 最初に、呼び出したいメソッドをヘッダーで宣言します。
  • java から呼び出す jni インターフェースを作成します。
  • メイクファイルのライブラリを次のようにソースとして使用します-

    MY_BASE_JNI_PATH := $(LOCAL_PATH)
    JNI_SHARED_LIB_PATH := $(MY_BASE_JNI_PATH)/../lib/shared
    LOCAL_LDLIBS := \
                -L$(JNI_SHARED_LIB_PATHH) \
                -ljni_demo
    

  • ヘッダーを宣言し、Java から呼び出すことができない jni メソッドで C コードを実装します。

    Android Gingerbread ソースの jni シナリオを実行すると、よく理解できます。楽しむ...

  • 于 2012-05-15T09:01:13.020 に答える