开发app过程中,运行前总提示要先安装OpenCV Manager,自己开发还好,当用户使用时总还是不可以的,因此需要把OpenCV库整合到应用中。
第一步:
注释掉下面的整条代码:
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
//.......your code here
}
第二步:
注释掉onResume()函数中的如下代码:
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
意思是不让它去调用Manager.
第三步:
把private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) 代码中的try-catch部分(包括try和catch)拷到onCreate函数中的setContentView(R.layout.main);语句下面。
同时把对camera的设置(如果有的话)也要拷到onCreate函数中,例如:
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.fd_activity_surface_view);
mOpenCvCameraView.enableView();
mOpenCvCameraView.setOnTouchListener(MainActivity.this);
mOpenCvCameraView.setCameraIndex(CameraBridgeViewBase.CAMERA_ID_FRONT);
mOpenCvCameraView.setCvCameraViewListener(this);
第四步:
在onCreate()函数前添加如下静态代码:
static
{
if(OpenCVLoader.initDebug())
{
System.loadLibrary("your lib");//load your JNI lib if you have
//other thing you want to do
}
}
第五步:
修改Android.mk文件,要保证文件中有下面三条语句(注意每条语句前面没有#哦):
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED
现在你可以把OpenCVManager卸载掉了,重新编译安装apk就不会再提示安装并正常运行了。