以下设置适用于我:
- 打开文件
Android.mk(在文件夹jni中)并设置文件OpenCV.mk的路径(来自Android的OpenCV):
在我的情况下是:
C:\DP\OpenCV-2.4.8-android-
sdk\sdk\native\jni\OpenCV.mk
整个Android.mk 将如下所示:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include C:\DP\OpenCV-2.4.8-android-sdk\sdk\native\jni\OpenCV.mk
LOCAL_MODULE := native_sample
LOCAL_SRC_FILES := App_02_28.cpp
LOCAL_LDLIBS += -llog -ldl
include $(BUILD_SHARED_LIBRARY)
整个onManagerConnected 将如下所示:
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
System.loadLibrary("native_sample");
Log.i(TAG, "OpenCV loaded successfully");
mOpenCvCameraView.enableView();
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
- 右键项目选择
Android tools -> Add native support
- 然后在
Properties -> C/C ++ General -> Paths and Symbols卡上设置Includes以下路径。在我的例子中是这样的:
${NDKROOT}/platforms/android-9/arch-arm/usr/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include
C:\DP\OpenCV-2.4.8-android-sdk\sdk\native\jni\include
jni
C:\DP\NDK\android-ndk-r9c\platforms\android-8\arch-arm\usr\include
C:\DP\NDK\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.6\include\backward
C:\DP\NDK\android-ndk-r9c\sources\android\native_app_glue
C:\DP\NDK\android-ndk-r9c\platforms\android-19\arch-arm\usr\include
C:\DP\NDK\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6\include
C:\DP\NDK\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6\include-fixed
当然,您必须将C:\DP\NDK\ 替换为您磁盘上存储Android NDK 和OpenCV SDK 的路径。
- 添加到属性 -> C/C++ 构建 -> 环境以下变量:
...PATH 的值与我设置的系统 PATH 相对应。
- 最后,右键单击您的项目并选择
Index - Rebuild