谷歌Play应用签名和应用内购买测试

11

我已经启用了Google Play应用签名来管理项目,因此每次上传后谷歌会重新对我的apk进行签名。如果我想通过adb在设备上安装我的apk进行应用内计费测试,那么这个apk必须使用与Google Play中版本相同的密钥进行签名,但是启用Google Play应用签名后,这似乎是不可能的。如果我使用已经上传到Google Play的相同apk,则尝试购买产品时会出现“此应用程序版本未配置为通过Google Play进行结算”的错误。

我的问题是:启用Google Play应用签名后,如何在不将所有测试版本上传到Google Play的情况下进行应用内计费测试?


你不必将所有的测试上传到Google Play,可以创建一个Beta版本并在那里进行测试。 - Martin De Simone
你说的“创建 beta 版并在那里测试”是什么意思?目前我正在将 apk 上载到 alpha 频道。但在开发计费功能时,我需要进行大量测试。因此,我不想上传每个版本,而是通过 adb 安装。但我无法使用相同的密钥签名它,因为 alpha 版本已被 Google 签名... - Florian L.
我曾经遇到过同样的问题。但是在从Google Play下载了Alpha APK并尝试了一次IAP之后,问题就解决了。然后我卸载了应用程序,并重新安装了一个版本号相同但实际代码已修改的构建版本,这时IAP正常工作了。 - Itay Bianco
你找到解决方案了吗? - Hemendra Sharma
我找到了Game services alpha测试的解决方案。请看下面的答案。 :) - Hemendra Sharma
3个回答

3

我也曾经在寻找同样的内容,但不想像你回答中的那样链接另一个应用程序。所以这是我所做的:

虽然我已经将我的电子邮件添加到测试人员列表中,但我还是访问了 opt-in 链接,注册了我的电子邮件作为测试人员。显然,这也是必须要做的事情。

之后,我从 Play 商店下载了 alpha 应用程序(链接也在 opt-in 页面中)。然后我尝试从 Android Studio 运行它(使用上传密钥签名。我还没有检查调试密钥是否足够)。这会显示无效签名警告,并重新安装应用。但安装完应用之后,您现在可以测试应用内购买功能。


2
只有持有许可证的测试人员才能绕过匹配签名的要求。请参考https://developer.android.com/google/play/billing/test

许可证测试人员可以绕过此检查,这意味着您可以为测试而侧载应用程序,即使是使用调试签名的调试版本的应用程序,也无需上传到您的应用程序的新版本。

要使用实际费用进行完整的应用内购买测试,APK 必须在任何测试通道中发布到 Play 商店。


1

对于那些正在寻找 alpha 测试“游戏服务”的人,我想我找到了解决方案(或解决方法)。

进入 Play 控制台(https://play.google.com/apps/publish)> 游戏服务 > 已关联的应用程序。

在这里单击“链接另一个应用程序”,然后选择同一个应用程序进行添加。最后,在授权此应用程序时,将 SHA-1 密钥更改为您应用程序的调试密钥。

如何在 Android Studio 中查找 SHA-1 密钥? 转到“Gradle”选项卡 > app > 任务 > android > 双击“signingReport”。

希望这能帮助到你。:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接