获取证书密钥库文件的 SH1-Fingerprint

要获取证书的 Google Maps API 密钥,你必须为 API 控制台提供调试/发布密钥库的 SH1 指纹。

你可以通过使用获得的密钥存储 JDK 的 keytool 所描述的程序在这里的文档。

另一种方法是通过使用使用调试/发布证书签名的应用程序运行此代码段并将哈希打印到日志来以编程方式获取指纹。

PackageInfo info;
try {
    info = getPackageManager().getPackageInfo("com.package.name", PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String hash= new String(Base64.encode(md.digest(), 0));
        Log.e("hash", hash);
    }
} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}