最近在学习Mapbox android SDK,demo运行的都没问题,但是后来在自己app中使用时出现了问题,搞了半天才弄清楚。
首先配置流程为:
一、在app的build.gradle中添加如下依赖:
并添加maven中央库:
二、添加权限
注:6.1.3版本只需要此一个权限,之前版本如4版本需要更多权限,如下:
三、Activity中添加mapview控件
注意如要使用mapbox,需要添加第二行这句话。
四、申请access token,存入String中
这个我就不截全了,自己加就行。
五、在Mainactivity中使用mapbox
正常情况下,按上面步骤配置完成后,可以正常打开地图,但是我在自己的app中配置完一直报错,这几个问题在stackoverflow也没有明确的解答,试了不少方法都无效,但也渐渐有了一些思路。报错类型如下:
这个问题是包重复,我的是bin文件夹中两个jar包导入重复,这个报错实在不行就先将bin清空,然后根据报错一个一个把依赖包加入,最后不需要的就不加了,这样可以找到重复包。
这个问题的原因是,之前有的地方将依赖末尾添加@aar如下图,去掉末尾的@aar即可。具体原因我还没弄清楚,有高手知道,麻烦指点一下。
这个问题的原因跟android的版本有关,mapbox的不同版本和android的不同编译版本也要对应,否则会报这个错误。具体对应多少我也不知道,不过下面把我实测可以的版本贴出来,以供参考:
这是4.2.0版本
这是6.1.3版本
OK,暂时就这么多,建议先搞几个demo熟悉熟悉!