SyntaxHigh

Monday, March 16, 2015

Android で OpenCV を OpenCV Manager なしで動かす

http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html

を参考にしたのだが、Android の実行時に opencv load error が出る。つまりライブラリが出来ていない。

解決策、というか Workaround は Android.mk の

OPENCV_LIB_TYPE:=STATIC

ここを

OPENCV_LIB_TYPE:=SHARED

に変えてやる(か何も書かない、デフォルト)。jni/architecture(armeabi-v7a 等) フォルダに libopencv_java.so が出来れば成功。libopencv_java.so は既にビルドしてあるので、実際はコピーしているだけのようだ。

Android に Shared という概念はないので、実際は DYNAMIC ということだと思う。

http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html

には

OPENCV_LIB_TYPE:=STATIC

でも動くようなことを書いてあるが、こちらの環境ではダメだった。