我正在开发一款适用于Google健身的应用,但出于某种原因,我无法同时让这两个版本兼容。
再次重新创建凭据之前,反过来说:开发正在运行,生产没有。
我启用了Api并添加了凭据:
生成的KetStore包含2个键,一个用于生产,另一个用于开发。每个都根据其包名称在凭据页面中设置(请参阅 Android App )。
我们的应用程序有两个不同的包名称:
这是使用Gradle配置使用flavor实现的。这样,我们在移动设备上有2个应用程序用于测试目的。
我不知道它发生了什么冲突并没有让我让它们都发挥作用。
我只有1个同时工作,而那个没有工作的人会在LogCat上获得CANCELLED
个结果。
可能有相同的包前缀( xxx.yyy。)是一个问题,因此,读取错误的凭证?
任何建议表示赞赏。 感谢。
答案 0 :(得分:0)
在编译Android Studio
时,keystore
未使用我的APK
。它仍然使用带有别名debug.keystore
和AndroidDebugKey
密码的默认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>
确保每个变体的SHA1
与Credentials
页面中指定的变体相同。