0

でネイティブ ライブラリを正常にロードできますSystem.loadLibrary("")が、そのライブラリからネイティブ メソッドを呼び出すと、UnsatisfiedLinkErrorそのメソッドの実装が見つかりませんでした。

しかし、このコードは別のアプリケーションでは機能しますが、私のものでは機能しません。

4

2 に答える 2

3

jni メソッドで packageName を変更しましたかJava_com_example_yourapp_methodname(JNIEnv * env, jobject thiz)。com_example_yourapp は、メソッドを呼び出すクラスのパッケージへの参照である必要があります。その後、また電話ndk-buildしましたか?

于 2012-12-13T09:24:49.680 に答える
1

メソッド Erik N は適切に提案されていますが、VM が上記のシグネチャを使用して関数呼び出しを検索する必要があるため、パフォーマンスに影響があります。代わりに、署名を使用して関数をマップし、JNI_OnLoad() 関数呼び出しに登録できます。

http://docs.oracle.com/javase/1.4.2/docs/guide/jni/spec/functions.html#wp5833

于 2012-12-18T10:07:31.243 に答える