应用程序错误:未为市场结算配置此版本的应用程序

Pet*_*uin 91 android in-app-purchase google-play

由于几天后就可以在Android应用中使用应用内结算功能.当然很酷.所以,我开始为我的应用程序进行更新以实现它.但现在我遇到了一些问题.这就是我做的:

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

现在出现了问题.当我使用自己的产品ID(我之前添加的产品ID,见上文)时,会显示一个对话框,其中包含以下文本:

" 应用程序错误:此版本的应用程序未配置为市场结算.请查看帮助中心以获取更多信息. "

我在日志中找不到任何奇怪的东西.谁知道我在这里做错了什么?

esi*_*ver 157

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

  • 重要的是要注意,正如在其他一些答案中一样 - 测试应用的版本代码必须与Google Play中草稿的版本代码相同.因此,如果您在Google Play中使用占位符v1,然后将真实应用程序准备为v2 - 必须先将真实应用程序作为草稿上传到GP,然后才能完成测试. (21认同)
  • 调试版本没问题,但必须签名. (8认同)

Sim*_*n K 43

我发现,一旦我将APK的新副本上传到市场,我就会在接下来的一小时左右遇到"应用程序错误".经过至少一个小时后(有时需要长达两个小时),我不再再犯这个错误了,然后我可以毫无问题地购买我的物品.似乎Google服务器至少需要一个小时才能处理您上传新APK的事实(关于APK的InApp结算方面).

所以我建议您在上传APK后等待1到2个小时,然后查看是否仍然出现"应用程序错误".

  • 我会说的是:它对我来说也是等待几个小时(实际上等了一夜,所以我不知道确切的时间).作为一个小小的社论评论,谷歌无法为此提供更准确的错误信息令人沮丧,并为我们省去了很多麻烦. (4认同)

ash*_*hes 34

我也遇到了这个问题.我终于意识到我发布的应用程序的版本编码为3,我的草稿(带有结算权限的未发布的apk)的版本编码为4,而我用来测试应用内结算的签名版apk仍然是版本代码3.一旦我将versionCode更改为4,我能够通过实际的应用内商品页面进行我要求的购买.


小智 22

当作为草稿上传的apk与在测试模式下在系统上运行的apk不匹配时,这可能发生在已签名的已发布版本上.只要确保您的构建匹配,您应该在测试模式下正常并且将停止查看错误.

这里最大的担心是我们会在生产中看到同样的行为,即我们通过应用内计费发布1.0.0-1,然后发布1.0.0-2,运行1.0.0-1的用户将是无法购买或恢复购买并将收到相同的错误(非常糟糕的用户体验).一直在搜索文档以提及这种特定于测试模式的行为,但到目前为止还没有运气; 我们在这里添加了一个错误:http://code.google.com/p/marketbilling/issues/detail?id = 15#c0

  • +1用于附加信息,前瞻性思维和bug线程的链接. (3认同)

小智 14

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

我的观察基于一些试验:

  1. 版本代码应与Google Play和设备上的版本代码相匹配
  2. 即使版本匹配,我们仍可能会收到此错误
  3. 等待大约1到2小时然后尝试,我们不会得到这个错误

希望这可以帮助


Lut*_*ten 7

从重复的问题复制:https://stackoverflow.com/a/22469253/1321401

出于多种原因可能会发生此错误.
以下是Google IAB测试的要求列表.

先决条件:

  1. AndroidManifest必须包含"com.android.vending.BILLING"权限.
  2. APK是在发布模式下构建的.
  3. APK已与发布证书签名.
  4. APK上传到alfa/beta分发渠道(之前 - 作为草稿)至少一次到开发者控制台.(需要一些时间~2h-24h).
  5. IAB 产品已发布,其状态设置为活动状态.
  6. 测试帐户已添加到开发人员控制台中.

测试要求:

  1. 测试APK具有上传到开发者控制台的版本相同的版本代码.
  2. 测试APK使用与上传到dev.console的证书相同的证书进行签名.
  3. 测试帐户(不是开发人员) - 是设备上的主要帐户.

PS:使用发布证书进行调试:https://stackoverflow.com/a/15754187/1321401(链接的Thnx @dipp)

PPS:希望已经很长时间制作这份清单了.

Thnx @zlgdev进行更新


Jaa*_*akL 6

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