1、
opencv自己在通过jni写的so库,死活加载不成功:
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN2cv4face18LBPHFaceRecognizer6createEiiiid" referenced by “”
解决办法:
不管是java代码,还是C库,只要是相关的一定先加载才能用,锤子得很
if (!OpenCVLoader.initDebug()) {
Log.e("log_wons", "OpenCV init error");
}
紧接着问题又来你,我移植到另外一个Android项目中依然报这个错,我已经按我刚才得出的结论,加你对应的预加载代码了呀,仔细看错误中的“_ZN2cv4face18LBPHFaceRecognizer6createEiiiid”是不是看到了“LBPHFaceRecognizer”这个字段,没错就是这个东西找不到,这个在哪里呢,对比发现两个项目加载的so库,a库是有区别的(这个区别是3.3.0版本中的有contrib库,我把他生成在了第一个工程中),加载对应的库就好了(opencv怎么不把人脸识别的代码java接口提供出来呢,折腾了好久)
2、fastjson 居然将int 1 解析成了 0(深层原因不明,没时间看源码,解决办法如下:)
String jsonString = ...;
Group group = JSON.parseObject(jsonString, Group.class);
问题出在了定义的类上
public class User {//get、set方法按照右键生成的方式来生成
private Long id;//与json字段一致
private String name;//与json字段一致
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}