【问题标题】:Google API key works only for the build which i generated from my computerGoogle API 密钥仅适用于我从计算机生成的构建
【发布时间】:2015-04-22 21:07:44
【问题描述】:

在 google play 上,我尝试为 google 登录创建一个公钥,将 SHA1 密钥和包名称的字段保持为空,以允许所有 android 设备访问 api。但它在尝试时显示“发生内部错误”登录。然后我尝试使用我的计算机 SHA1 密钥和我的项目的包名称创建另一个密钥。然后谷歌登录适用于我从我的计算机生成的构建。但它不适用于我从某些生成的构建其他计算机,因为它将具有不同的 SHA1 密钥。我希望我的 api 密钥应该具有公共访问权限,以便谷歌登录可以在我生成构建的任何计算机上正常工作。这可能吗?

如果我希望每个人都能登录,我是否需要同时创建客户端 ID 和公共 api 密钥访问?我应该在创建公共 api 密钥访问时提供我的包名称和 SHA1 密钥还是应该将其留空?

【问题讨论】:

  • 当然有可能...您需要创建一个带有密钥的密钥库来签署您的 APK 并使用该 SHA1
  • @GregEnnis 但这将签署 apk 而不是我的项目..我希望在我运行我的项目的任何一台计算机上它应该能够谷歌登录..每次我在不同的计算机上运行项目时它都会生成不同的 apk..我需要注册所有计算机的 SHA1 密钥吗?
  • 您可以在不同的计算机上使用相同的调试签名密钥来做您想做的事。文件名为 debug.keystore,位置因操作系统而异,但您可以通过名称找到它。
  • @GregEnnis 我将整个项目发送给我的团队成员,他正在不同的计算机上进行测试。他从他的计算机生成的构建无法通过谷歌登录,但我从我的计算机生成的构建能够正确登录,因为我的计算机的 SHA1 密钥已在开发者控制台上注册
  • @GregEnnis 我需要在我的项目中哪里添加 debug.keystore?

标签: android api google-api sha1


【解决方案1】:

API 密钥基于应用的数字证书的简短形式,称为 SHA-1 指纹。要显示证书的 SHA-1 指纹,首先确保您使用的是正确的证书。您可能有两个证书:

调试证书:Android SDK 工具会在您进行调试构建时自动生成此证书。仅将此证书用于您正在测试的应用程序。不要尝试发布使用调试证书签名的应用。调试证书在 Android 开发者文档中的 Signing in Debug Mode 中有更详细的描述。

发布证书:Android SDK 工具会在您进行发布构建时生成此证书。您还可以使用 keytool 程序生成此证书。当您准备好向全世界发布您的应用程序时,请使用此证书。

Google sign in signed apk not working

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 2015-12-31
    • 2020-10-28
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多