关于高德地图获取Key失败

来源:互联网 发布:单片机的串口通讯协议 编辑:程序博客网 时间:2024/05/01 12:44

首先使用开发工具是Android Studio,通过使用keytool命令获取SHA1,但是这样还是无法获取项目的准确签名,所以获取的的key是无法正常使用的。

可以通过一下代码将打印出来的项目包的签名重新获取即可。


public static String getSHA1(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(":");            }            return hexString.toString();        } catch (PackageManager.NameNotFoundException e) {            e.printStackTrace();        } catch (NoSuchAlgorithmException e) {            e.printStackTrace();        }        return null;    }


0 0