baidumapsdk: Authentication Error errorcode: 230 msg: APP Scode码校验失败

在尝试Android开发使用百度地图的时候,出现了如题的错误,一般来说造成这种错误的原因有两个:

原因一:AK错误
仔细检查一下你的应用中使用的AK是否正确,和生成该AK的数字签名(SHA1)、包名是否跟你当前的程序一致。
如图是我获取的用来测试的AK:

生成该AK的数字签名和包名如下:
baidumapsdk: Authentication Error errorcode: 230 msg: APP Scode码校验失败_第1张图片

如果不正确就重新申请AK,我仔细检查了一下,我的AK是正确的,那么就有可能是第二个原因了。

原因二:签名文件没有打包到程序中
因为我调试的时候直接使用run来进行编译与执行,但这时并没有把key file打包进去,所以会出现错误。
如我的 签名文件的位置是:C:\Users\yu.android\debug.keystore
密码是:android

步骤如下:
菜单栏选择 file -> project structure,选择应用的modules(如果当前只有一个应用那么只会显示app),修改以下三处:
1. signing选项卡,新增一个 config , 加完后填入你的key file的alias(别名)、 password(密码)、存储文件的位置等信息。如图
baidumapsdk: Authentication Error errorcode: 230 msg: APP Scode码校验失败_第2张图片
2.flavors选项卡,里面的 signing config 选择你刚新加的 config
3.build types选项卡,里面的 debug 或 release, 都将 Signing Config 选择位新增加的config

这样每次debug出来的apk,就自带签名了

还有一些其他的小原因,如 :
1)检查你的网络连接是否正常,
2)AndroidManifest文件是否进行权限的申请,
3)AK是否有正确进行了配置

<application>  
    <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="8w*******bGy3xz6h6Y7C" />  
</application>

承上所述,我的问题是这样解决的,不知道是否能帮(wu)到(dao)各位看官。

之前在搜索这个问题的时候,对某贴吧中有个人提出的几个点表示非常赞同
1)、在Android studio中,so文件应该放在src/main/jniLibs/armeabi/或者armeabi-v7a等中,而不是src/main/jniLibs/里(百度开发者中心的文档上介绍的时候是放置在jniLibs里的);
2)、百度地图操作中心点的类是MapStatus,不再是MapController;
3)、定位图标应绘制在定位图层上,而不是标注图层(标注图层上的mark点在移动地图的时候有飘移现象);
4)、android sutio在直接run的时候,安装在手机里的是debug版本,所以在测试的时候不能用release版的SHA1。

你可能感兴趣的:(android,百度地图)