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

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

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

现在出现这个问题。 当我使用我自己的产品ID(我之前添加的产品ID,请参阅上面的内容)时,将显示一个对话框,其中包含以下文本:

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

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

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

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

所以我的build议是在你上传你的APK之后等待1到2个小时,然后看看你是否仍然得到“应用程序错误”。

我也遇到了这个问题。 我终于意识到,我发布的应用程序有一个3的版本CodeGo.net,我的草案(未发布的apk与帐单权限)有一个versionCode 4,我用来testing应用程序内结帐的签名apk仍然在versionCode 3。更改versionCode为4,我能够通过实际的应用程序内的产品页面为我要求的购买。

当上传的apk文件与testing模式下在您的系统上运行的apk不匹配时,这种情况可能发生在已签名的发布版本上。 只要确保你的版本匹配,你应该在testing模式下,并会停止看到错误。

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

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

我基于less数试验的观察:

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

希望这可以帮助

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

出现这个错误的原因有几个。
以下是Google IABtesting的要求列表。

先决条件:

  1. AndroidManifest必须包含“com.android.vending.BILLING”权限
  2. APKbuild立在发布模式
  3. APK使用发行证书进行签名。
  4. APK上传到alfa / beta分发渠道(以前 – 作为草稿)到开发者控制台至less一次。 (需要一些时间~2h-24h )。
  5. IAB 产品已发布 ,其状态设置为活动状态
  6. testing帐户是在开发者控制台中添加的

testing要求:

  1. testingAPK 上传到开发者控制台的版本号相同
  2. testingAPK使用与上传到dev.console的证书相同的证书进行签名。
  3. testing帐户 (不是开发者) – 是设备上的主要帐户

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

PPS:想要把这个清单很长一段时间了。

Thnx @zlgdev更新

我的解决scheme是,我需要使用相同的密钥来签署市场apk(作为APK草案),并在testing。 所以,而不是只运行应用程序我总是不得不导出每个更新签名的APK,卸载并重新安装在设备中使用apk命令行命令。 原则上,您也可以使用自己的密钥库作为debugging密钥库,但它需要使用特定的硬编码密码和密钥名称。

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

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

为了投入我的两分钱,我可以通过上传到testing版来testing它,并创build一个Gmail帐户,在设置选项卡下使用新版本的应用testing访问权限。

我现在正在把它转移到生产…

谢谢! 弥敦道

老线程,但增加我的经验…

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

事实certificate,我需要卸载从我连接到我的Nexus 7的所有3个谷歌帐户。它恢复时,我明确从我的连接7上的所有三个帐户卸载应用程序,然后从商店重新安装。