应用程序错误:该版本的应用程序未配置为市场开票


90

由于有几天可以在Android应用程序中使用应用内结算。当然非常酷。所以,我开始为我的应用程序更新以实现此目的。但是现在我遇到了一些问题。这是我所做的:

  • 我第一次尝试保留产品ID测试静态应用程序内 结算响应。这没有问题。
  • 我上传了一个草案APK到市场上(包括生产签名,没有调试签名),其中包括com.android.vending.BILLING权限。
  • 当我这样做时,我能够在市场上的应用程序中添加“应用内商品”,并将其设置为已发布状态。
  • 我创建了一个测试用户并重置了我的设备,以使测试用户成为我的测试设备上的主要帐户。
  • 保留的产品ID仍然有效。

现在出现这个问题。当我使用我自己的产品ID(我之前添加的产品ID)时,将显示一个对话框,其文本如下:

应用程序错误:此版本的应用程序未配置为市场结算。中心获取更多信息

我可以在日志中找到什么奇怪的东西。任何人都知道我在这里做错了什么?

156

我刚刚遇到此问题,并意识到这是因为我正在运行我的应用程序的调试,未签名版本。在Eclipse中,当我导出并签署我的应用程序并将其安装到手机上时,我能够使用我的应用内产品而不会看到此错误消息。

+8

调试版本没问题,但必须签名。 28 1月. 122012-01-28 03:19:02

+1

是否需要发布用于测试inApp项目的应用程序。我发布了inapp项目,并保持应用程序未发布。如果问题很愚蠢或无关,我很抱歉。 27 2月. 122012-02-27 12:18:10

  0

@ jana不需要在应用程序中发布应用程序测试,但是需要发布应用程序产品以便发布,否则在测试应用程序内产品时,您的设备上会出错。“找到“ 24 5月. 122012-05-24 07:08:53

+21

重要的是要注意,因为在其他一些答案中 - 测试应用的版本代码必须与您的Google Play草稿的版本代码相同。因此,如果您开始使用Google Play中的占位符v1,然后将实际应用准备为v2 - 那么在您完成测试之前,必须将真实应用作为草稿上传到GP。 26 3月. 132013-03-26 10:57:58

  0

在我的情况下,我上传版本1 apk在Play商店,并没有在应用程序功能的问题,但现在我开发的版本2 apk是用我自己的密钥签署并安装在我的设备进行测试,然后放入游戏商店,然后在应用程序结算不起作用。显示为:“此版本的应用程序未配置为通过Google Play进行结算”。这里有什么问题? 26 10月. 132013-10-26 08:33:34

+1

事情最近发生了变化,您现在需要将您的应用发布到Google Play上的Alpha通道,然后才能继续进行IAP测试。 11 2月. 152015-02-11 14:23:42

  0

你能帮我解决这个问题吗?(https://stackoverflow.com/questions/47438092/in-app-billing-connect-to-firebase-and-get-products)? 27 11月. 172017-11-27 09:35:32


34

我也遇到了这个问题。我终于意识到,我发布的应用程序的版本号为3,我的草稿(未发布的带有帐单权限的apk)的versionCode为4,并且我用于测试应用内付费的已签名apk仍处于versionCode 3.一旦我将versionCode更改为4,我能够通过实际的应用内产品页面来查看我正在申请的购买内容。


22

当上传的apk作为草稿与测试模式下在您的系统上运行的apk不匹配时,可能发生在已签名的已发布版本上。只要确保你的版本匹配,你应该在测试模式下没问题,并会停止看到错误。

这里最大的担忧是我们会在生产中看到这种相同的行为,即我们发布1.0.0-1与应用内计费,然后我们发布1.0.0-2,和用户运行1.0.0 -1将无法购买或恢复购买,并将收到相同的错误(非常不好的用户体验)。一直以来都在提及这种行为的文档,特别针对测试模式,但至今没有运气;我们在这里添加了一个bug:http://code.google.com/p/marketbilling/issues/detail?id=15#c0

+3

+1为附加信息,向前思考和链接到bug线程。 13 1月. 122012-01-13 13:54:40


6

我的解决方案是我需要使用相同的密钥在Market中(APK上签名)和测试。因此,我不是只运行应用程序,而是每次更新都必须导出带签名的APK,然后使用apk命令行命令将其卸载并重新安装到设备中。原则上,您也可以使用自己的密钥库作为调试密钥库,但它需要使用特定的硬编码密码和密钥名称。


43

我发现一旦我将我的APK的新副本上传到市场,我就会在下一个小时左右的过程中遇到“应用程序错误”。至少过了一个小时后(有时需要两个小时才能过去),那么我就不会再犯这个错误了,于是我可以毫无问题地购买我的物品。 Google服务器似乎至少需要一个小时才能处理您上传新APK的事实(关于APK的InApp计费方面)。

因此,我的建议是,您需要在上传APK后等待1到2小时,然后看看是否仍然出现“应用程序错误”。

  0

我只是想重申肯定这个答案为我工作。我得到这个错误 - 即使应用程序版本是正确的。除了等待几个小时之外,我没有做任何事情,它开始正常工作(我没有再看到错误)。 03 6月. 122012-06-03 19:41:20

+4

我会第二个:它对我也有效,等待几个小时(实际上等了一夜,所以我不知道确切的时间)。作为一篇小编辑评论,谷歌无法给出更准确的错误信息并为我们节省大量麻烦令人沮丧。 23 6月. 122012-06-23 22:45:39

  0

这是否意味着,我的用户使用的应用程序版本比当前更早,无法使用应用内购买,并且必须先更新应用程序? 31 10月. 142014-10-31 09:24:42


14

我也遇到了同样的问题......但现在的问题是解决了

我的看法基于几个试验:

  1. 版本代码应与双方在谷歌Play和设备
  2. 即使版本匹配,我们仍然可以得到这个错误
  3. 等待约1至2小时,然后尝试,我们不会得到这个错误

希望这有助于

+1

我也发现版本代码应该匹配。至少您的测试版本不能高于Google Play上的版本。我不确定其他方式是否也是如此。我希望不会,因为那意味着具有旧版本应用程序的人不能使用我的应用程序内帐单。 10 6月. 122012-06-10 09:13:02

  0

#3是诀窍。如果您确定一切正常,请稍事休息并稍后再试。它只需要一些时间来更新:) 11 6月. 122012-06-11 08:02:18


0

思想,如果你得到这个错误我会分享一个更可行的解决方案。我最初上传到谷歌我的apk的草案启用了结算许可,所以我能够设置在应用程序购买。后来我上传了另一个apk,没有从我的AndroidManifest中丢失结算许可,导致了错误。绝对看起来不太可能的情况,但它发生在我身上,所以这是可能的。

编辑:沿着同样的折叠,如果您提交为谷歌草稿版本是无符号的,错误也会发生。


0

要扔在我的两分钱,我能够通过上传到Beta版,并创建一个Gmail帐户与我的应用程序的新版本中的设置选项卡下的测试获得测试...

我现在正在将它转移到生产...

谢谢! 弥敦道


-2

旧线,但加入我的经验...

我安装了的versionCode 1比在实体店更高的APK。在我的Nexus 7的2个不同帐户上玩过,并遇到这个问题。所以我从商店卸载并重新安装,以确保versionCode匹配。即使在一夜之间,这个错误也没有清楚。

原来我需要从所有3个Google帐户中卸载我已经绑定到我的Nexus 7.当我从nexus 7上的所有三个帐户中明确卸载应用程序后,恢复,然后从商店重新安装。


7

从重复的问题复制:有几个原因,可能会出现https://stackoverflow.com/a/22469253/1321401

此错误。
以下是Google IAB测试的要求列表。

先决条件:

  1. AndroidManifest必须包括“com.android.vending.BILLING” 权限
  2. APK内置于发布模式
  3. APK与发行证书签署。
  4. APK上传到alfa/beta distribution渠道(以前 - 作为草稿)至少一次到开发者控制台。 (需要一些时间〜2h-24h)。
  5. IAB 产品发布及其状态设置为活动
  6. 开发人员控制台中添加了测试帐户

考试要求:

  1. 测试APK拥有相同的的versionCode作为一个上传到开发者控制台。
  2. 测试APK与签署相同的证书作为一个上传到dev.console。
  3. 测试帐户(不是开发人员) - 是设备上的主帐户

P.S:调试与释放证明https://stackoverflow.com/a/15754187/1321401(日Thnx @dipp的链接)

P.P.S:想使这个名单很长一段时间了。

Thnx @zlgdev for update

+1

versionCode让我 - 为什么这需要? 04 12月. 142014-12-04 08:16:25