异常信息
FATAL EXCEPTION: main
Process: com.youta.wisdomport, PID: 3819
java.lang.UnsatisfiedLinkError: No implementation found for boolean
com.youta.wisdomport.ui.business.dahuavedio.NetSDK.INetSDK.LogOpen
(com.youta.wisdomport.ui.business.dahuavedio.NetSDK.LOG_SET_PRINT_INFO)
(tried Java_com_youta_wisdomport_ui_business_dahuavedio_NetSDK_INetSDK_LogOpenand Java_com_youta_wisdomport_ui_business_dahuavedio_NetSDK_INetSDK_LogOpen__Lcom_youta_wisdomport_ui_business_dahuavedio_NetSDK_LOG_1SET_1PRINT_1INFO_2)
出现这个异常,一般都是加载so文件的问题,我在项目开发中,需要集成第三方监控视频的SDK,项目中本来已经集成了海康的SDK,但是客户要求再加个大华,没办法,只能加了。然后我按照demo,一步一步吧大华的SDK集成进去,可是,明明代码跟demo一样,为什么运行的时候一直报这个错误呢(这个错误大概就是找不到底层的方法LogOpen)。这个问题整整卡了我一整天~
发现原因 解决问题
本来一直在找代码毛病,后来还是回归到分析so文件的问题,原来我在将大华SDK中的so文件复制到项目中的时候,有一个so文件叫libgnustl_shared.so,当时就提示说这个文件名冲突,就是项目中已经有这个文件了,我的第一反应就是可能项目中海康的和大华都用了别人的libgnustl_shared.so文件,所以当时我就没替换,也就是这个猜测,导致我找了一天的BUG,然后我替换了一下,大华视频瞬间运行正常.....。但是我终归删掉了项目中以前的libgnustl_shared.so文件,我又运行了一下海康视频,有把项目中的arcgis地图功能都跑了一遍,也没出什么问题,暂时先这样吧,具体跟谁的SDK的so文件冲突了再说。
写下这个博客也在提醒自己,开发中要细心~
版权声明:个人原创,若转载,请注明出处