这两天在做安卓实验,其中涉及到了高德地图API的使用,我在使用过程中发现输出结果为MD5验证失败,寻路失败的问题(忘记截图了)。然后我个人就去查阅高德地图API的官方文档,也没查出个所以然,最后依靠CSDN上某些大佬的讲解,完成了SHA1码的获取,在此也和大家分享一下。
高德地图API官网:/
我个人是基于AndroidStudio4.5的平台。
首先按照官网的教程
这是官网的教程,但是我按照这个做并没有正确的获取SHA1码
接下来是CSDN大佬们的博客
public static String sHA1(Context context) {try {PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);byte[] cert = info.signatures[0].toByteArray();MessageDigest md = MessageDigest.getInstance("SHA1");byte[] publicKey = md.digest(cert);StringBuffer hexString = new StringBuffer();for (int i = 0; i < publicKey.length; i++) {String appendString = Integer.toHexString(0xFF & publicKey[i]).toUpperCase(Locale.US);if (appendString.length() == 1)hexString.append("0");hexString.append(appendString);hexString.append(":");}String result = hexString.toString();return result.substring(0, result.length()-1);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return null;}
原文链接:/lovelixue/article/details/81737860
之后在控制台中获取到新的SHA1码
I/System.out: ==============
I/System.out: *********************************************************(代表自己的SHA1码)
我的调试代码也提供给大家参考:
这个获取出来的就是可用的SHA1码了。
如果觉得《南邮Android Studio应用高德地图API获取SHA1码》对你有帮助,请点赞、收藏,并留下你的观点哦!