android 百度导航引擎初始化失败找不到libgnustl_shared.so以及百度鹰眼轨迹异常的问题

最近在做一个项目,用到百度鹰眼,百度导航。先做的鹰眼。用的最新的Jar包2.1.9。

首先说一下鹰眼


关于鹰眼的使用,Demo也很清晰了。需要注意的点有以下几个:

1、判断服务是否在运行使用startTrace(),通过返回值判断。

2、采集时间间隔,单位:秒。最小为2秒,最大为5分钟,否则设置不成功;打包时间间隔,单位:秒。打包时间间隔必须为采集时间间隔的整数倍,且最大不能超过5分钟,否则   设置不成功

3、没有采集的一监听,可以通过onTrackAttrCallback()知道他有在采集,不过采集一次为什么会触发两次这方法。不太清楚。
//轨迹属性回调接口
@Override
public Map<String, String> onTrackAttrCallback() {}
4、queryRealtimeLoc()这个方法是获取实时的位置,就相当于一个简单的定位。和采集没有半毛钱关系,主要是用于客户端的实时位置显示。

5、queryEntityList() 这方法有个参数是activityTime domo 里  int activeTime = (int) (System.currentTimeMillis() / 1000 - 30); 我问客服,他说设置为0就可以了。通过这个方法就能判断有没有采集到最新的点啦

activeTime: // 活跃时间(指定该字段时,返回从该时间点之后仍有位置变动的entity的实时点集合)



由于我们的APP要求鹰眼服务时刻在运行,我起了个Service每隔一段时间去。startTrace()一次来判断服务是否在运行,刚开始服务还好好的,实时查轨迹也都正常,不到半小时就采集不到点,接着一两个时间都没有轨迹,有时隔一两个小时后又有零星几个点上传。然后开始排查代码问题,网络问题,服务是否被系统清理等,各种排查问题,想死的心都有。最后发现是多次调用startTrace()之后,鹰眼的服务就异常了。这个坑真的是深呀,后面和百度联系确认了这个问题。新的迭代包应该很快就会发布。


然而,百度的坑我还没完。。。


这会到百度导航了


百度导航是用不到地图的jar包的。只有两个Jar要引用,分别是BaiduNaviSDK-XX.Jar,httpmine-4.1.2.jar  当然还有armeabi 下的几个so文件。android studio的同学注意一下就是so文件要放在jniLibs下。乍眼一看,这demo这么简单,这集成还不简单。

然而事件并不是这么简单,一跑起来就报错:找不到libgnustl_shared.so。我擦,明明这文件就复制过来了。各种确认,assets,jar so全都没少。为毛就报,找不到libgnustl_shared.so呢。。。。。。。。。。。。。。。。。。。

经验告诉我,这种情况,要么少放东西了,要么有冲突了。因为我都再三确认没少东西了,只能是冲突了

首先,腾讯云分析,肯定是先从百度以外的东西去排除。对吧?   把腾讯云分析的都清干净了,一跑起来,还是一样的错

其次,融云,。。。。。。。。。。

。。。。。

终于到百度自己的东西,这时我真想骂娘了,难道真是百度的坑????


去了百度鹰眼,因为集成鹰眼的时候加了地图,我是先去了鹰眼的jar包和so。。。。。然而并没什么卵用!!!!!

这真是日了狗了,怎么可能。

难道还和地图有关,由于导航只有armeabi一个文件夹的so文件。于是我把除导航的几个so外的都很删了,包括areabi-v7a,arm64-v8a等等文件。。终于成功了

好吧,我再一个个放回去。。。。过程就不说了,

最后可以确认是armeabi-v7a和arm64-v8a下的文件导致的问题。然后一个个试到底是哪个的问题,如果这只有一个libBaiduMapSDK_base-xxx 有问题  只有一个libBaiduMapSDK_map_xx也有问题。。只有一个libBaiduTaceSDK_xxxx 也有问题  我擦。。。。这什么卵!!!!

是armeabi-v7a和arm64-v8a两个文件都清了才正常。手机版本是5.1.1的。64位的一个cpu


APP_ABI目前能取得值包括:(1)、32位:armeabi、armeabi-v7a、x86、mips;(2)、64位:arm64-v8a,x86_64, mips64;反正我是不懂了。。。。。。


反正我是不懂了。。。。。。。。。。


解决方法:

先附一个关于SO文件的一个链接

http://www.jianshu.com/p/cb05698a1968


最后我们只保留armeabi-v7a 或者armeabi就可以了。


在app下的build.gradel 的defaultConfig里加上.so的选择


    ndk {
            abiFilters "armeabi-v7a"
        }











  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值