0
  1. AndroidでLibAv/ffmpegを使用しているアプリケーションを実装しています
  2. JNIを使​​用してネイティブコードを操作しています
  3. 私の「共有ライブラリ」は、libswscale.so、libavutil.so、libavformat.so、libavdevice.so、libavcore.so、libavcodec.soを使用しています。
  4. すべての「共有ライブラリ」は、APKファイルの同じディレクトリにパックされていることが確認されています
  5. デバイスでデバッグしています(エミュレーターなし)
  6. Runtime.loadLibrary($ MY_LIB_NAME)は、UnsatisfiedLinkError例外をトリガーします
  7. 'System.loadLibrary( "swscale")'を直接実行すると、UnsatisfiedLinkError例外も発生します

私の推測では、libav * .soはAPKに追加する必要のある追加のライブラリに依存していますが、これらを検出する方法がわかりません。依存する共有ライブラリを検出するツールはありますか?(ウィンドウは同等のものに依存します)?

どんな助けでもありがたいです。

〜Nadav

4

1 に答える 1

0

objdump ツールを使用して、必要な共有ライブラリを一覧表示できます。

<ANDROID_NDK_ROOT>\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-objdump -p libNAME.so | grep NEEDED

それは窓用です。OS の objdump ツールへのパスを変更します。

于 2012-02-02T18:39:20.830 に答える