共计 1028 个字符,预计需要花费 3 分钟才能阅读完成。
【问题背景】:某开发者利用上架到华为利用市场后谷歌地图加载失败。而谷歌商店曾经上架同样的包没有问题。
【问题剖析】:
抓取利用加载谷歌地图试日志示意 鉴权失败:
10-07 14:25:25.641 3061 3397 E Google Maps Android API: API Key: AIzaSyA2wHvbJd8P46jl1DLXRAlv3B5yIKCNDyE
10-07 14:25:25.641 3061 3397 E Google Maps Android API: Android Application (<cert_fingerprint>;<package_name>): D3:98:30:D7:75:FD:25:0E:DC:FA:0E:D5:30:DE:E0:BC:38:20:6D:D9;de.hafas.android.db
10-07 14:25:25.641 3061 3397 E Google Maps Android API: Authorization failure. Please see https://developers.google.com… for how to correctly set up the map.
日志中的证书指纹是利用签名的 SHA1 证书指纹,由此可知谷歌地图加载失败的起因是获取不到证书指纹,进一步查看谷歌地图集成的问题,发现的确须要配置 SHA1 的证书指纹,而开发者应用了华为零碎的签名服务,导致证书指纹变动了,这才是问题根因。
【解决方案】:
计划一:获取新的 SHA1 证书指纹,从新集成谷歌地图。
1、因为华为公司平安红线要求,临时没有提供 SHA1 的证书指纹打印,然而能够通过下载证书来获取,登录 AGC,进入利用签名页签,下载利用签名证书:
2、执行 openssl 命令间接打印输出:
3、依照谷歌地图集成文档重新配置 SHA1 证书指纹:
链接:https://developers.google.com/maps/documentation/android-sdk/get-api-key?hl=zh-cn
计划二:间接应用谷歌商店上架时的签名文件。
开发者间接应用和谷歌商店一样的签名证书。不须要重新配置,就是在抉择“利用签名”服务时抉择上传本人的签名文件即可,如下:
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201411981231120393?fid=0101271690375130218
原作者:Mayism