版权声明: https://blog.csdn.net/Sunxiaolin2016/article/details/91355691
1.使用百度地图SDK的应用需要申请应用(AK)
官网网址为:http://lbsyun.baidu.com/apiconsole/key/create
如图下:
需要获取开发版本SHA1和发布版本SHA1,参考文章:
https://blog.csdn.net/Sunxiaolin2016/article/details/91042117
将AK加入到AndroidManifest.xml中:
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="xqTGl9SjZUQdfd1231acCfgzLHxuRuPmQr" />
2.依旧会报AK错误
报错信息如下:
2019-06-04 12:38:23.198 3677-3677/baidumapsdk.demo E/baidumapsdk: Authentication Error
=============================================
----------------- 鉴权错误信息 ------------
sha1;package:D2:1F:93:FE:B4:0F:BE:7A:68:11:2C:50:74:44:DC:79:18:56:28:C5;baidumapsdk.demo
key:xqTGl9SjZUQKP1acCfgzLHxuRu2KPmQr1
errorcode: 200 uid: -1 appid -1 msg: APP不存在
请仔细核查 SHA1、package与key申请信息是否对应,key是否删除,平台是否匹配
errorcode为230时,请参考论坛链接:
http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=106461
=============================================
此时已经确认填入了正确的AK。
原因是Android Studio在Run的时候编译的apk没有带发布版的签名。所以填入了正确的AK后,还是报错。
所以需要在Run app时运行带正式签名的apk,即我们发布版本时创建的签名。
方法如下:
在项目设置中,项目右键,Open Module Settings -->Signing Configs.
填入我们创建的发布版签名文件。
这是build.gradle中会生成:
signingConfigs {
debug {
storeFile file('C:\\Users\\ad\\BaiduDemo.jks')
storePassword '123456'
keyAlias = 'key0'
keyPassword '123456'
}
}
修改完成后,需要Clean Project.一定要Clean一下。在运行,成功。