Android应用程序内购买v3仅在2.3版本的签名版本下失败

Android应用程序内购买v3仅在2.3版本的签名版本下失败,android,in-app-billing,Android,In App Billing,我们使用新的Google IAB v3 API,它非常可靠,但有一个案例失败了:它不能与运行在2.3.4(Droid X)上的签名构建一起工作 症状是IInAppBillingService.isBillingSupported()返回3,表示BILLING\u RESPONSE\u RESULT\u BILLING\u UNAVAILABLE 我被难住了,因为所有这些案例都有效: -2.3.4调试版本:正常 -4.2.1带调试或签名构建,带/不带proguard:OK 尽管它在4.2上与pro

我们使用新的Google IAB v3 API,它非常可靠,但有一个案例失败了:它不能与运行在2.3.4(Droid X)上的签名构建一起工作

症状是
IInAppBillingService.isBillingSupported()
返回3,表示
BILLING\u RESPONSE\u RESULT\u BILLING\u UNAVAILABLE

我被难住了,因为所有这些案例都有效:
-2.3.4调试版本:正常
-4.2.1带调试或签名构建,带/不带proguard:OK

尽管它在4.2上与proguard一起工作,但我怀疑这是否是一个混淆问题,所以尝试保留class
com.android.vending.billing.IInAppBillingService
,然后完全关闭了proguard。没有变化


因此,它似乎是关于已签署的发行版,并且仅限于2.3版。有什么想法吗?

您是否将apk上传到Google Play开发者控制台?当您想第一次开始测试IAB时,以及每次遇到版本代码时,您都需要这样做。

设备上有哪个版本的Google Play store?请参阅:构建版本3.10.10。我的4.2 Nexus 7没有问题,也是3.10.10,这是应用程序构建版本;我无法直接查询应用内计费API版本。但我不认为它像错误版本的Google Play store那么简单,因为为什么它可以与调试版本一起工作,而不是与签名版本一起工作?我最近已经实现了这一点,并且出现了一个错误,我必须清除Play store缓存,然后重新运行它并接受条款以使付款生效。从用户的角度来看,这很糟糕,但我还没有找到解决办法。让我知道这是否有效。谢谢Michael,只是清除缓存不起作用,你必须强制退出,然后为Google Play清除缓存和数据。然后,您将在启动时获得T&C验收。之后,当我从我们的应用程序中尝试IAB时,我得到了IAB T&C接受,一切正常。我不知道为什么这只发生在签名的构建中,但很高兴它被修复了!