我能';在jni文件夹中找不到opencv android sdk的Java_org_opencv_objdetect_CascadeClassifier?
所有的源代码都发布了吗?我的opencv版本是2.4.9。我已经重新组织了我的项目,写我能';在jni文件夹中找不到opencv android sdk的Java_org_opencv_objdetect_CascadeClassifier?,android,opencv,java-native-interface,Android,Opencv,Java Native Interface,所有的源代码都发布了吗?我的opencv版本是2.4.9。我已经重新组织了我的项目,写 最后,我运行了人脸检测演示,得到了“未找到本机方法:org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1:”类似这样的内容。我已经搜索了整个opencv源代码,但找不到Java\u org\u opencv\u objdetect\u CascadeClassifier\u CascadeClassifier\u 1或类似的东西。我不知道您提出的
最后,我运行了人脸检测演示,得到了“未找到本机方法:org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1:”类似这样的内容。我已经搜索了整个opencv源代码,但找不到Java\u org\u opencv\u objdetect\u CascadeClassifier\u CascadeClassifier\u 1或类似的东西。我不知道您提出的具体问题。但找不到本机方法是常见错误。找不到本机方法的可能原因如下 < C++ >函数名和java函数名中的类型不匹配。C++函数名必须在 Java_PackageName_classname_functionname格式 2.)在初始化opencv库之前调用函数
如果您再次无法找到,请分享您的代码示例问题困扰了我很长时间 (当使用Android.mk在Android系统中编译时,我的apk运行良好,并且使用Android studio安装它(将源文件放入packages/apps/“apk name”)) 我只是通过“\OpenCV android sdk\sdk\native\libs\arm64-v8a\libopencv_java3.so”重放“libopencv_java3.so”文件,因为这两个文件大小不同,所以这个问题就解决了
因此,这个问题应该是由“libopencv_java3.so”引起的。谢谢!你说的两点我肯定是对的。现在我的问题是我找不到cv android SDK的本机代码,比如下面(来自Mat.java)://C++:Mat::Mat()私有静态本机long n_Mat();//C++:Mat::Mat(int行,int列,int类型)私有静态本机长n_Mat(int行,int列,int类型);//C++:Mat::Mat(大小,int类型)私有静态本机长n_Mat(双大小,双宽度,双大小,int类型);您是否在oncreate方法中使用mat对象初始化?请不要这样做。在onResume方法中调用了opencv库。之后,您可以调用mat对象,因为它使用opencv管理器中的opencv库。opencv管理器是不同的应用程序,必须从cv android sdk mat.java异步初始化您的应用程序,找不到这些本机方法的源代码://C++:Mat::Mat()私有静态本机long n_Mat();//C++:Mat::Mat(int行,int列,int类型)私有静态本机长n_Mat(int行,int列,int类型);//C++:Mat::Mat(大小,int类型)私有静态本机长n_Mat(双大小,双宽度,双大小,int类型);