- 混合モードのAndroidプロジェクトを構築していますが、プロジェクトはネイティブffmpegを使用しています
- Libsは
2.1です。libavutil.so->libavutil.so.512.2
。libavcodec.so->libavcodec.so.542.3
。libavformat.so-> libavformat.so.54 - 私のJavaコードには、ネイティブライブラリをロードするための次のJNIセクションが含まれています。static
{
System.loadLibrary( "avutil");
System.loadLibrary( "avcodec");
System.loadLibrary( "avformat");
} - 「libavcodec.so」は「libavutil.so.51」に依存し、「libavutil.so」には依存しません。
- アクティビティを実行するとき System.loadLibrary( "avcodec"); 「必要なライブラリ' libavutil.so.51 'を'libavcodec.so'にロードできませんでした(ライブラリ'libavutil.so.51'が見つかりません)」を除く
- 私のAndroid.mkには、APKにネイティブライブラリを追加するための次のセクションがあります
。include$(CLEAR_VARS)
LOCAL_MODULE:= mylib
LOCAL_SRC_FILES:= ../../../mylib/libmylib.so
include $(PREBUILT_SHARED_LIBRARY )。
- libmylib.soをlibmylib.so。%some number%に置き換えると、ビルドが失敗します[LOCAL_SRC_FILESは ".so"で終わるファイルを指す必要があります]
上記を念頭に置いて、依存関係なしでlibavcodecをロードするにはどうすればよいですか?問題 ?
- libavcodec.soの依存関係を修正して、libavutil.so.51ではなくlibavutil.soを指すようにすることはできますか?
- Android.mkを変更して、libavutil.so.51(.SO以外の拡張子)をパックできるようにすることはできますか?その後、「System.loadLibrary」を使用してロード可能になりますか?
どんな助けでもありがたいです!!!
ソフィンのナダフ
- libavcodec.soの依存関係を修正して、libavutil.so.51ではなくlibavutil.soを指すようにすることはできますか?
質問する
628 次