只作为个人学习记录, 如有侵权行为请及时通知本人删除
转自: http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=106461
安全码校验工具:
http://bbs.lbsyun.baidu.com/forum.php?mod=attachment&aid=MTUwMDZ8ZmUzNTBjYTR8MTQ5OTI2MTU2N3w5Njk0NzJ8MTA2NDYx
鉴于Android版SDK中出现的大量key验证失败问题,基本上都是在API控制台申请AK的时候填写的包名或者SHA1不正确导致的(包名或者SHA1的获取详见官方教程)。搜索log,若出现"Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败",则认真阅读下面的内容。
如果想快速解决验证问题,可以使用下面提供的安全码校对工具获取APP正确的包名和SHA1值,并将这两个值更新到API控制台对应的AK上即可。安全码校对工具:MCodeCheck.zip(363.22 KB, 下载次数: 8402)。
打开应用后,找到自己开发的APP(默认最新安装的APP排在最上面),点击后会弹出对话框显示包名和SHA1值。
特别注意:已经上线发布的APP中使用的AK不要轻易更新,否则可能会导致已发布的APP鉴权失败。详细的获取SHA1方法参考:Android Studio 和 Eclipse 中获取SHA1详解
区分debug版和release版签名文件打包的开发者特别注意:
很多开发者都有debug版和release版签名文件分别进行apk打包,如果你此刻安装的app是debug版签名文件打包的,此处获取到的就是debug版的SHA1;相反如果你安装的app是release版签名文件打包的,此处获取到的就是release版的SHA1。API控制台中,debug版签名文件对应的SHA1值填入"开发版SHA1"中;同理,release版签名文件对应的SHA1值填入"发布版SHA1"中,这样能保证开发和测试的时候使用同一个AK即可。
debug版签名文件:是指在开发过程中从Android Studio或者Eclipse中直接调试运行的apk使用的签名文件,一般是开发工具自动处理的。
release版签名文件:是指在提交测试或发布时候,选择指定的签名文件进行打包的签名文件,一般同一个APP使用一个统一的签名文件。