Google Fit凭据:适用于生产,而非开发

时间:2017-01-04 10:04:59

标签: android authentication oauth-2.0 google-api google-fit

目标

我正在开发一款适用于Google健身的应用,但出于某种原因,我无法同时让这两个版本兼容。

再次重新创建凭据之前,反过来说:开发正在运行,生产没有。

凭证& Google Api

我启用了Api并添加了凭据:

Google Api website

密钥库

生成的KetStore包含2个键,一个用于生产,另一个用于开发。每个都根据其包名称在凭据页面中设置(请参阅 Android App )。

Terminal dump of KeyStore

Android App

我们的应用程序有两个不同的包名称:

  • xxx.yyy.app for Production
  • xxx.yyy.development for Development

这是使用Gradle配置使用flavor实现的。这样,我们在移动设备上有2个应用程序用于测试目的。

问题

我不知道它发生了什么冲突并没有让我让它们都发挥作用。

我只有1个同时工作,而那个没有工作的人会在LogCat上获得CANCELLED个结果。

可能有相同的包前缀( xxx.yyy。)是一个问题,因此,读取错误的凭证?

任何建议表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:0)

在编译Android Studio时,keystore未使用我的APK。它仍然使用带有别名debug.keystoreAndroidDebugKey密码的默认android

出于某种原因,它没有读取我development环境的签名配置,而是production

为了使用以下方式检查每个Build Variant的签名:

  • 打开一个项目

  • 打开右侧的Gradle标签

  • 展开< your_project > ==>任务==>的Android

  • 双击singingReport(这将创建Gradle类型Run/Debug Configuration

  • 打开位于右下方的Gradle Console

此时你应该看到其中一些:

Variant: developmentDebug
Config: debug
Store: /Users/<username>/.android/debug.keystore
Alias: AndroidDebugKey
MD5: YY:YY:YY:YY:YY:YY:YY:YY:YY:YY:YY:YY:YY:YY:YY:YY
SHA1: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
Valid until: <date>

确保每个变体的SHA1Credentials页面中指定的变体相同。