解决百度地图230错误(App Scode码校验失败)
2015-08-16 13:19
411 查看
错误原因很简单,就是ak不匹配,一般这种错误是出现在App签名打包发布后,也就是正式版的App中使用的ak会与开发时的ak不同,因为根据官方文档,这个ak的组成,是数字签名+“;”+包名;
在开发时(也就是debug版)用的是sdk的数字签名,获取方法很如官方文档所述。
在发布时(也就是release版)用的是打包签名时的签名,所以在在正式发布时,如果依然使用之前之前的ak,会报如下错误:
解决办法就是替换掉之前的签名,使用正式版的签名。
获取正式版签名的方法:
在签名的时候,会生成一个.jks文件,这个就是最新的签名文件(之前的版本可能是.keystore文件),这个文件的位置是自定义的,在签名的时候设定。
然后打开命令行,定位到jdk中的bin(不明原因,我电脑上配置了环境变量不起作用,所以只好定位到文件夹执行命令)
然后执行命令 keystool -list -v -keystore [签名文件的绝对路径](比如我的签名文件放在C:\Users\tancen.AndroidStudio\KeyStore\tenutekey.jks)
接下来输入密码(在AndroidStudio签名打包时的密码)
然后就能看到签名文件信息了:
图中的SHA1值就是新的签名,将这个值替换到百度地图控制台中原有的ak值中的签名:
到此,应用ak修改完成,现在的ak就是release版应用的ak,错误解决。
在开发时(也就是debug版)用的是sdk的数字签名,获取方法很如官方文档所述。
在发布时(也就是release版)用的是打包签名时的签名,所以在在正式发布时,如果依然使用之前之前的ak,会报如下错误:
解决办法就是替换掉之前的签名,使用正式版的签名。
获取正式版签名的方法:
在签名的时候,会生成一个.jks文件,这个就是最新的签名文件(之前的版本可能是.keystore文件),这个文件的位置是自定义的,在签名的时候设定。
然后打开命令行,定位到jdk中的bin(不明原因,我电脑上配置了环境变量不起作用,所以只好定位到文件夹执行命令)
然后执行命令 keystool -list -v -keystore [签名文件的绝对路径](比如我的签名文件放在C:\Users\tancen.AndroidStudio\KeyStore\tenutekey.jks)
接下来输入密码(在AndroidStudio签名打包时的密码)
然后就能看到签名文件信息了:
图中的SHA1值就是新的签名,将这个值替换到百度地图控制台中原有的ak值中的签名:
到此,应用ak修改完成,现在的ak就是release版应用的ak,错误解决。
相关文章推荐
- SDK学院--易接网游SDK中间件接入使用说明-Unity3D游戏接口
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- Unity5 音效一
- SDK学院--易接网游SDK中间件接入使用说明-Unity3D游戏接口
- cocos2d-x3.0 lua学习(一个)
- Android 基础:surfaceSurface、SurfaceHolder 及 SurfaceHolder.Callback , 范例说明
- 详解Unity中的委托与事件
- Android的所有权限说明
- crossApp初级-CATextField类-9
- Android Studio系列教程四--Gradle基础
- Android Context作用
- Android源码分析之ListView
- APP和服务器通讯为什么要用接口?
- iOS概念入门学习-Foundation框架-NSString
- iOS TextView内容为空时设置按钮为不可用
- Android - 电池状态
- iOS之TabBar设置普通和选中状态图片
- UIWebView随笔
- unity多边形uv地图
- Android的ListView分页功能