エラーは:原因:java.lang.UnsatisfiedLinkError:ネイティブメソッドが見つかりません。私は私のプロジェクトでSystem.loadLibrary
と呼んだので、私は彼のプロジェクトの.soのパッケージ名を知る必要があることを知っています。私はそれを解決する方法があります。私は宣言メソッドの名前を得ることができるいくつかの方法。.soファイルのメソッドを呼び出す方法はありますが、.soファイルを生成するパッケージ名はわかりません。
-1
A
答えて
0
NDKには、nmユーティリティが付属しています。 ツールチェーンフォルダにあります。 toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-nm
。
あなたはいくつかのエクスポートされたシンボルは、うまくいけばJava_my_package_name_MyClass_function
のようになります。
…-nm -D /path/to/the/existing/sharedlib.so
実行することができます。このような機能は、ネイティブメソッドの機能のクラスMyClassパッケージmy.package.nameの実装です。
残念ながら、これはこれらの名前を逆にするのに役立ちます。ネイティブメソッドのパラメータや戻り値を簡単に再構築することはできません。このメソッドをのstaticと宣言する必要があるかどうかもわかりません。ライブラリ輸出JNI_OnLoadを機能場合
最後に、それはネイティブメソッドを隠し、かつ動的Cの実装にネイティブメソッドをバインドするRegisterNativesを使用することができます。
関連する問題
- 1. Xamarin Androidから.soファイルのメソッドを呼び出す方法は?
- 2. .soファイルを生成する
- 3. ロードするファイルがありません - RMagick2.so
- 4. Android Studioで.soファイルを生成する
- 5. Torch 7/Luaには.soファイルは必要ありませんが、package.loadlib()には
- 6. Android multidex、UnsatisfiedLinkError - .soファイルが見つかりませんでした
- 7. EMFファイル(.so)デバッグ、シンボルが見つかりませんVTableエラー
- 8. OpenCVインストールディレクトリには1つの.soファイルしかありませんか?
- 9. webpack:transpilingファイルso putはソースファイルの隣にあります
- 10. Androidスタジオ - ネイティブメソッドが見つかりません - .soファイルを含む、jni関数オプションがありません
- 11. AndroidスタジオのCファイル内で共有ライブラリ(.so)メソッドを呼び出す
- 12. Ubuntuでルート優先度を持つダイナミックライブラリ(.soファイル)を呼び出す方法
- 13. .aを.soに生成する方法
- 14. PLファイルのパッケージ名でクラスを呼び出せません
- 15. Linuxでライブラリ.soを使用するELFファイルからc関数をフックする方法はありますか?
- 16. ターゲットを作るためのルールがありません。* .so
- 17. ".soにはシンボルがありません"というNDKプロファイリング
- 18. ファイルをリモートで生成するSSISパッケージを呼び出す方法は?
- 19. Javaでリストを呼び出す方法はありません
- 20. Spring mvc4のRestControllerを呼び出すメソッドがありません
- 21. ejsファイルの代わりに.jsファイルからMessengerExtensions.requestCloseBrowserを呼び出す方法は?
- 22. MvcでForeachループ内でメソッドを呼び出す方法はありません
- 23. アンドロイドスタジオの.so共有ライブラリ内のメソッドを呼び出す
- 24. アンドロイドプロジェクトの.dllまたは.soファイルにアクセスする方法Xamarin
- 25. 親divタグを呼び出す方法はありますが、IDとクラスはありませんか?
- 26. Pythonでメソッドの匿名呼び出しがありますか?
- 27. 呼び出すpythonクラスのメソッドがありません
- 28. メソッドを実行せずにメソッド呼び出しと戻り値をモックする方法はありますか?
- 29. httpd-2.4.18で.soファイルを作成できません
- 30. __init__.so(__init__.pyの代わりに)はサブパッケージをマスクします
した後、このコマンドを実行し、私は以下を得るが、パッケージ情報と何も
0012a1f4 Dは、多分あなたは*逃した
0012a114 D v3_ocsp_nocheck
0012668cのDのv3_ocsp_nonce
0012a0dcのDのv3_ocsp_serviceloc
0012a3d8 Dのv3_pci
– user7386820
をv3_ocsp_crlidありません* -D ** ** nm **へのパラメータ? –