重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
百度地图官网教程,官方论坛的指导文章都指引读者去使用默认的.android目录下的debug.keystore。然而却在官方的Demo中使用app根目录下的debug.keystore导致简单的错误一直迷路,记录一下自己的解决问题的思路。这其中暴露了我容易走弯路,并且容易偏题的毛病。
创新互联建站-专业网站定制、快速模板网站建设、高性价比定海网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式定海网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖定海地区。费用合理售后完善,10年实体公司更值得信赖。问题描述:
导入BaiduMapSdkDemo的时候,按照官方教程申请了AK。但是AS打包到真机却总是提示:
key验证出错,230错误。
解决途径:
官方论坛,下载:安全码校验工具。发现SHA1指纹和我.android目录中的debug.keystore的SHA1不同。
解决步骤&疑问:
1、使用同样IDE环境打出的Apk包的SHA1指纹都是.android中的指纹,为什么导入的官方Demo就不同!
2、申请AK时,填入:发布版SHA1、开发版SHA1。我选择发布版,可当前却是开发环境的默认debug.keystore。
2.1、然而同一个SHA1同时填入发布版、开发版和只填入发布版生成的AK是一样的!
3、查看build.gradle文件发现:官方包指定了keystore文件。
signingConfigs {
// your debug keystore
debug {
storeFile file('debug.keystore')
}
}
4、新建的Android项目没有指定keystore,默认使用.android中的debug.keystore。
5、这里的storeFile file('debug.keystore')指的路径应该是app根路径
6、然后我在”BaiduMapsApiASDemo\app\“路径下发现了一个debug.keystore。
7、使用keytool查看,SHA1果然来自这个debug.keystore。
8、这是不是坑爹,官方网站、论坛等等教人使用.android的默认keystore。
9、既然自己带了一个keystore,就申请一个默认AK填入Manifest文件就得了,是不是误导!
10、重新指定keystore即可:storeFile file('C:/Users/cheng/.android/debug.keystore')
11、这种翻遍网站论坛都找不到解答的问题,让自己找到了,还是相当喜悦的!
总结:
需要多多理解gradle的语法,读懂build.gradle的配置。解决问题时多一个思路。当确定是SHA1的问题时,就没必要马上“建立分支”去解决官网AK生成的质疑,优先解决当下主干重点。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。