安卓中使用百度地图遇到的问题记录

安卓中使用百度地图遇到的问题记录

使用百度地图sdk的时候导致软件闪退解决的思路有哪些?

​ 1、百度地图的key是否正确,如果不正确则需要到百度地图官网获取相应的key:http://lbsyun.baidu.com/apiconsole/key

​ 2、如果在官网获取到的key放到项目中还是不对,则应该在命令行中获取开发版与发布版的SHA1(开发版的SHA1需要通过打包时使用的.jks文件获取),然后到百度地图官网替换相应的SHA1值,获取相应的key,步骤如下:

​ (1)首席先去开发版(即debug版)的SHA1,在C:\Users\wusuowei.android可以看到有一个名为debug.keystore的文件,如下图:
在这里插入图片描述
​ (2)使用 cd .android进入.android目录,输入输入keytool -v -list -keystore debug.keystore,如无意外会出现SHA1值,但如果像下图一样报错,则应进行接下来的操作
在这里插入图片描述

​ (3)使用命令cd C:\Program Files\Java\jdk1.8.0_191\bin,进入该目录
在这里插入图片描述
​ (4)使用命令keytool.exe -v -list -keystore C:\Users\wusuowei.android\debug.keystore,当前需要输入密钥库口令为:android,成功输入则可获取如下图的信息,其中SHA1就是我们要的开发版的SHA1
在这里插入图片描述
​ (5)接下来我们获取发布版的SHA1,使用命令keytool.exe -v -list -keystore G:\Key\yun(其中yun代表.jks文件的名字),输入密钥库口令为打包项目时所创建.jks文件时的keyPassword,得到的结果如下图:
在这里插入图片描述
​ (6)最后,进入百度地图开发者中心http://lbsyun.baidu.com/,进入自己的控制台,没注册过的需要注册,进入控制台后,可以看到有个设置按你,点击进入(需要有创建过自己的应该才会有数据)
在这里插入图片描述
​ (7)使用我们在命令行中获取到的开发版与发布版SHA1替换下图相应的SHA1值,并提交,则可获取当前项目需要的百度地图AK,在项目的AndroidManifest.xml中找到com.baidu.lbsapi.API_KEY替换即可:
在这里插入图片描述
在这里插入图片描述

​ 3、在安卓低版本如8.0及以下版本使用百度地图不会有问题(可能报如下错误Attempt to read from field 'java.lang.String com.baidu.mapapi.search.geocode),而在安卓9.0版本使用闪退,原因是百度地图还没适配安卓9.0,这时,需要使用可修改当前apk的运行版本,即在项目中搜索targetSdkVersion,并改为安卓9.0以下的版本,即可解决问题。

​ 4、apk打包时出现了好几个apk,原因时下图的include中设置了不同版本的处理器,注释掉即可。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值