お久しぶりです。
takeです。
前回の記事はこちら
前回 libffmpeg.so のビルドが完了したので、今回はこのライブラリを使ってJNI部分を作成します。
JNIを作成するため、Eclipse(luna)に以下の設定が必要です。
・C/C++開発環境(Help->Install New Software)
http://download.eclipse.org/releases/luna を入力し、以下を選択する
・Programming Languages -> C/C++ Development Tools
・Programming Languages -> C/C++ Development Tools SDK
・Programming Languages -> C/C++ Library API Documentation Hover Help
・NDKプラグインのインストール(Help->Install New Software)
https://dl-ssl.google.com/android/eclipse/ を入力し、以下を選択する
・Developer Tools -> Android Native Development Tools
・NDKの設定(Window->Preferences->Android->NDK)
前回の記事でNDKを展開したディレクトリを指定します。
以上で設定は終わりです。
次は、プロジェクトを作成します。
File -> New -> Android Application Project を選択します。
アプリケーション名を適当にいれてプロジェクトを作ります。
プロジェクト作成後、プロジェクトメニューから Android Tools -> Add Native Support を選択します。
JNIフォルダが作成されて準備ができました。
ここからが大変です。自分も試行錯誤した結果なので誤ってる個所があるかもしれませんがご容赦ください。
まず、FFMpegライブラリのコピーを実施します。
・jniフォルダにlibフォルダを作成します。
・build/ffmpeg/armv7/libffmpeg.so を jni/lib へ
・build/ffmpeg/armv7/include を jni/include へ
JNIフォルダにある Android.mk ファイルを編集します。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ffmpeg LOCAL_EXPORT_C_INCLUDES := include LOCAL_SRC_FILES := lib/libffmpeg.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := FFMpegTest LOCAL_SRC_FILES := FFMpegTest.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_LDLIBS := -llog -ljnigraphics -lz -landroid -ldl LOCAL_SHARED_LIBRARIES := ffmpeg include $(BUILD_SHARED_LIBRARY) $(call import-module,android/cpufeatures)
※今回のプロジェクトはFFMpegTestとしています。
編集内容を保存後、プロジェクトメニューから「Build Project」を実施すると
JNIライブラリが作成されているはずです。
(I/Fがないのでなにもできませんが。。。)
長くなってしまったので、続きはまた次回!!