Linux(aarch64处理器)系统java项目接入海康SDK问题

这篇文章主要记录第一次在aarch64处理器部署海康SDK遇到的问题,开始在win环境没问题,在自己的VM部署也没问题,最后发上了公司的国产机就出现了以下一系列问题。

以下是本次遇到的问题总结:

1、aarch64处理器:需要下载aarch64类型的so动态链接库 (官方例子默认的不是aarch64)

2、docker部署问题:如果使用docker 部署不能直接访问宿主机的地址需要映射docker地址到宿主机,代码里面写宿主机的地址(不是docker部署的请忽略)

3、jna版本问题:海康官方给的jna版本3.0.9无法满足aarch64处理器类型动态库,需要升级到更高版本例如jna5.12.0版本

4、海康SDK本身问题:因为海康SDK本身依赖的jna版本比较低,所有引用高级的jna版本需要重写Structure方法然后在官方SDK HCNetSDK.java文件中的继承的Structure全部替换为HIKSDKStructure 下面是HIKSDKStructure的例子:

public class HIKSDKStructure extends Structure {

    protected List<String> getFieldOrder(){
        List<String> fieldOrderList = new ArrayList<String>();
        for (Class<?> cls = getClass();
             !cls.equals(HIKSDKStructure.class);
             cls = cls.getSuperclass()) {
            Field[] fields = cls.getDeclaredFields();
            int modifiers;
            for (Field field : fields) {
                modifiers = field.getModifiers();
                if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) {
                    continue;
                }
                fieldOrderList.add(field.getName());
            }
        }
        return fieldOrderList;
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值