【问题标题】:How to get Android Internal App Sharing key SHA1 to enable Google APIs?如何获取 Android 内部应用程序共享密钥 SHA1 以启用 Google API?
【发布时间】:2020-01-06 21:19:30
【问题描述】:

Google API 不适用于内部应用共享,这可能是由于 Share app bundles and APKs internally 中提到的 Google Play 应用重新签名

如何获取内部应用共享密钥 SHA1 以添加到 Google API 控制台?

【问题讨论】:

    标签: android google-play google-play-console android-app-bundle


    【解决方案1】:

    提交应用后,您可以在 Google Play 管理中心的开发工具 -> 内部应用共享 -> 应用证书下找到内部应用签名密钥。

    【讨论】:

    • 好的,所以一旦你有了这个密钥,你会用它做什么来让谷歌地图在一个通过内部应用共享共享的应用中工作?!
    • @RobP 是的,您必须将此指纹用于 GoogleMap。 Firebase 等,仅当您使用内部应用共享时。
    • 除非您测试过,否则请不要投反对票,这是正确答案。
    • 答案是正确的,但还不够。找到这个指纹后,API 控制台中有一组棘手的步骤可以将该指纹添加到各种 API,例如 Android 版 Google Maps。我想通了,但这非常不明显,并且是被问到的问题的一部分。将其添加到答案中,我当然会删除反对票!
    • @RobP 你能在单独的答案中添加你想出的东西吗?
    【解决方案2】:

    您可以通过使用 try catch 进行此环绕来务实地获取密钥

    private void printKeyhas()
    {
      PackageInfo info = getPackageManager().getPackageInfo(getPackageName()),PackageManager.GET_SIGNATURE);
    
    for(Signature signature.info.signature)
    {
       MessageDigest md = MessageDigest.getInstanse("SHA");
       md.update(signature.toByteArray());
      log.d("KEY_HASH",Base64.encodeToString(md.digest(),Base64.DEFAULT));
    } 
    }
    

    【讨论】:

      【解决方案3】:

      您可以在 Google Play Console 中找到应用证书,发布管理 -> 应用发布 -> 管理内部应用共享 -> 应用证书。 复制 SHA-1 证书指纹,用于在 Google Cloud Platform 中添加您的关联 API 密钥,例如地图密钥、设备验证密钥。

      您可以通过 SHA-1 指纹通过 OpenSSL 的命令轻松生成 Keyhash(ssh)

      echo | xxd -r -p | openssl base64

      在 Facebook 开发控制台上使用 Keyhash

      【讨论】:

        【解决方案4】:

        在控制台或命令提示符中输入:

        keytool -list -v -keystore C:\Users\Hp\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
        

        【讨论】:

        • 以上命令是获取Android调试密钥SHA1而不是内部应用共享密钥SHA1
        猜你喜欢
        • 1970-01-01
        • 2020-10-23
        • 2015-08-19
        • 1970-01-01
        • 2014-08-09
        • 1970-01-01
        • 1970-01-01
        • 2012-06-15
        • 1970-01-01
        相关资源
        最近更新 更多