Android 应用内计费错误

Android 应用内计费错误,android,in-app-purchase,in-app-billing,Android,In App Purchase,In App Billing,我的[UNMANAGED]应用程序内购买无法正常工作,除非它能正常工作,我可以使用测试帐户成功购买。但它突然不起作用了,因为我记得我对商户帐户所做的只是添加了更多的2-4个测试帐户。然后添加后,我的应用内购买将不起作用。所以我更新了公钥并上传了一个Apk作为草稿。但还是不行 当应用程序位于google play页面时,我收到一个LogCat错误: 11-20 17:00:18.840: E/Finsky(2182): [187] FileBasedKeyValueStore.delete: At

我的[UNMANAGED]应用程序内购买无法正常工作,除非它能正常工作,我可以使用测试帐户成功购买。但它突然不起作用了,因为我记得我对商户帐户所做的只是添加了更多的2-4个测试帐户。然后添加后,我的应用内购买将不起作用。所以我更新了公钥并上传了一个Apk作为草稿。但还是不行

当应用程序位于google play页面时,我收到一个LogCat错误:

11-20 17:00:18.840: E/Finsky(2182): [187] FileBasedKeyValueStore.delete: Attempt to delete 'paramsqE9ZgJf5Z6GeZu1wwGPosw' failed!
然后,当我单击购买和接受按钮时,我只收到以下日志:

11-20 17:00:39.520: I/BillingService(2408): handleCommand() action: com.android.vending.billing.RESPONSE_CODE
11-20 17:00:39.520: I/LoginActivity(2408): purchase was successfully sent to server
我希望调用
安全验证的日志
onPurchaseStateChange(…)
,但我没有得到任何onPurchaseStateChange

请帮我解决这个问题

另外,当我测试android.test时,我购买了用于测试静态应用内计费响应的保留产品ID,但仍然得到了相同的日志/响应

更新-----------------

我删除了一些测试帐户,但只剩下两个(如下面@Tigger所示)。现在我没有从谷歌页面中得到任何错误。但是仍然没有启动onPurchaseStateChange()函数。我没有收到来自Security.java的任何日志


我收到的最后一个日志是:“购买已成功发送到服务器”

这可能不是正确答案,但从我的个人测试和各地的记录来看:

  • 您上传的应用程序草稿必须与您正在测试的应用程序具有相同的“版本代码”和“版本名称”
  • 如果上载新版本(使用新的“版本代码”或“版本名称”),可能需要4到24小时,新版本才能正常工作以进行测试
  • 再次检查设备上使用的帐户是否为测试帐户之一
  • 您上传的APK草稿必须使用最终版本中使用的密钥进行签名
  • 对于在设备上进行测试(emulator不会与Play Store一起工作),只要“版本代码”和“版本名称”与Play Store中的APK草稿匹配,测试和调试就可以工作
希望对你有点帮助


编辑:一些更改澄清了几点。

我有这个错误,但我的错误是上传行为已经改变

以前,您将APK作为草稿上传到play store仪表板的production选项卡。现在,您必须上传到仪表板的Alpha选项卡,并发布您的应用()


如果你还在应用程序的预制作阶段,不要担心;如果发布时“生产”选项卡中没有APK,则播放库中将不会显示任何内容

我满足了所有这些要求,草稿和安装的apk的版本代码和版本名称是相同的。apk草案已上载1天以上。测试帐户正确,并设置为设备中的主帐户。Apk已签名。我唯一的想法是删除除一个之外的所有测试帐户,然后重试。可能测试帐户之间有一个高ASCII逗号或一个制表符,这会在Google端抛出一些东西。我尝试删除测试帐户,但现在我没有从Google页面得到错误(11-20 17:00:18.840:E/Finsky(2182):[187]FileBasedKeyValueStore.delete:尝试删除'paramsqe9zgjf5z6gezu1wwwgposw'失败!)。但我的应用程序仍然无法启动onPurchaseStateChange()。我没有收到Security.java的日志。调试已打开/设置为true。@Tigger您提到上载的apk必须使用与测试apk相同的密钥库进行签名。这是否意味着在调试模式下运行时无法进行测试(连接到Android Studio,在运行过程中遇到断点)?或者你只是说如果你使用一个临时构建进行测试,那么它必须使用相同的密钥库进行签名?@Alfiehansen我使用Eclipse,但是IDE不应该有任何区别。只要测试APK版本代码和名称与Play Store中的APK副本草稿匹配,测试和调试就应该正常工作——对我来说就是这样。我还更新了答案以澄清这一点。