从几天开始,就可以在Android应用中使用应用内结算功能。当然很酷。所以,我开始为我的应用程序进行更新以实现它。但现在我遇到了一些问题。这就是我所做的:
现在出现了问题。当我使用自己的产品ID(我之前添加的产品ID,见上文)时,会显示一个对话框,其中包含以下文字:
“应用程序错误:此版本的应用程序未配置市场结算。请查看帮助中心以获取更多信息。”
我在日志中找不到任何奇怪的东西。谁知道我在这里做错了什么?
答案 0 :(得分:157)
我刚刚遇到这个问题,并意识到这是因为我正在运行我的应用程序的调试,未签名版本。在Eclipse中,当我导出并签署我的应用程序并将其安装在手机上时,我能够使用我的应用内产品而不会看到此错误消息。
答案 1 :(得分:43)
我发现,一旦我将APK的新副本上传到市场,我就会在接下来的一小时左右遇到“应用程序错误”。经过至少一个小时后(有时需要长达两个小时),我不再再犯这个错误了,然后我可以毫无问题地购买我的物品。似乎Google服务器至少需要一个小时才能处理您上传新APK的事实(关于APK的InApp结算方面)。
所以我建议您在上传APK后等待1到2个小时,然后查看是否仍然出现“应用程序错误”。
答案 2 :(得分:34)
我也遇到了这个问题。我终于意识到我发布的应用程序的版本编码为3,我的草稿(带有结算权限的未发布的apk)的版本编码为4,而我用来测试应用内结算的签名版apk仍然是版本代码3.一旦我将versionCode更改为4,我能够进入我要求的购买的实际应用内商品页面。
答案 3 :(得分:22)
当上传的草稿与测试模式下系统上运行的apk不匹配时,签名,发布的版本可能会发生这种情况。只要确保您的构建版本匹配,您应该在测试模式下正常工作,并且不会再看到错误。
这里最大的担心是我们会在生产中看到同样的行为,即我们通过应用内结算发布1.0.0-1,然后发布1.0.0-2,用户运行1.0.0- 1将无法购买或恢复他们的购买,并将收到相同的错误(非常糟糕的用户体验)。一直在搜索文档以提及这种特定于测试模式的行为,但到目前为止还没有运气;我们在这里添加了一个错误:http://code.google.com/p/marketbilling/issues/detail?id=15#c0
答案 4 :(得分:14)
我也遇到了同样的问题......但现在问题已经解决了
我的观察基于一些试验:
希望这有帮助
答案 5 :(得分:7)
从重复的问题复制:https://stackoverflow.com/a/22469253/1321401
出于多种原因可能会发生此错误 以下是Google IAB测试的要求列表。
先决条件:
测试要求:
P.S:使用发布证书进行调试:https://stackoverflow.com/a/15754187/1321401(链接的@dipp}
P.P.S:已经很长时间才制作这份名单了。
Thnx @zlgdev用于更新
答案 6 :(得分:6)
我的解决方案是我需要使用相同的密钥在Market中签名apk(作为草稿APK),并在测试中。因此,不仅仅是运行应用程序,我总是必须在每次更新时导出已签名的APK,卸载并使用apk命令行命令在设备中重新安装。原则上,您也可以使用自己的密钥库作为调试密钥库,但它需要使用特定的硬编码密码和密钥名称。
答案 7 :(得分:0)
如果您收到此错误,我想再分享一个可能的解决方案。我最初上传到google我的apk的草稿并启用了结算权限,因此我能够在app appssables中设置。后来我上传了另一个没有我的AndroidManifest缺少结算权限的apk,导致错误。绝对看起来似乎不太可能,但它发生在我身上,所以它是可能的。
编辑:在同一个折叠中,如果您作为草稿提交给谷歌的版本是未签名的,那么也会出现错误。
答案 8 :(得分:0)
为了投入我的两分钱,我能够通过上传到Beta版本并在设置标签下创建一个带有测试访问权限的Gmail帐户来测试它,并使用我的应用程序的新版本...
我现在正将它转移到生产中......
谢谢! 森
答案 9 :(得分:-2)
旧线程,但添加了我的经验......
我安装了一个apk版本的versionCode 1高于商店。在我的Nexus 7上的2个不同帐户上播放它并遇到了这个问题。所以我从商店卸载并重新安装,以确保versionCode匹配。即便等到一夜之间,错误仍未明确。
原来我需要从我绑定到Nexus 7的所有3个谷歌帐户中卸载。当我从我的nexus 7上的所有三个帐户中明确卸载应用程序然后从商店重新安装时,它恢复了。