FFMPEG ライブラリを使用するために、Android で JavaCV を動作させようとしています。以下にコピーした JavaCV Web サイトの Android のセットアップ手順に従っています。
Eclipse (Android 2.2 以降): このページの指示に従います: http://developer.android.com/training/basics/firstapp/ [ファイル] > [新規] > [フォルダー] に移動し、プロジェクトを親フォルダーとして選択し、「libs/」と入力します。フォルダ名に「armeabi」を入力し、[完了]をクリックします。新しく作成した「libs」フォルダーに javacpp.jar と javacv.jar をコピーします。javacv-android-arm.jar、opencv-2.4.3-android-arm.zip、および ffmpeg-1.0-android-arm.zip からすべての *.so ファイルを、新しく作成された「libs/armeabi」フォルダーに直接抽出します。新しいサブディレクトリを作成せずに。[プロジェクト] > [プロパティ] > [Java ビルド パス] > [ライブラリ] に移動し、[JAR を追加...] をクリックします。新しく作成された「libs」フォルダーから javacpp.jar と javacv.jar の両方を選択します。
コードで FFmpegFrameGrabber クラスを使用しようとしています。実行すると、logcat から次のエラーが表示されます。
02-01 14:40:35.550: W/dalvikvm (11583): 例外 Ljava/lang/UnsatisfiedLinkError; Lcom/googlecode/javacv/cpp/avutil の初期化中にスローされます。
02-01 14:40:35.550: W/dalvikvm (11583): 例外 Ljava/lang/ExceptionInInitializerError; Lcom/googlecode/javacv/cpp/avcodec の初期化中にスローされます。
02-01 14:40:35.550: D/AndroidRuntime(11583): VM をシャットダウンしています
02-01 14:40:35.550: W/dalvikvm (11583): threadid=1: キャッチされない例外で終了するスレッド (グループ = 0x40015560)
これにより、私の Android アプリは avutil.so と avcodec.so を見つけられず、libs/armeabi フォルダーに配置されていると思いました。ただし、生成された APK eclipse を解凍すると、両方のファイルが存在していました。
この問題の原因に関するアイデアはありますか?