在我的应用程序的新版本中,应用程序结算失败

时间:2014-01-16 12:23:52

标签: android in-app-billing

我的应用已经在Play商店停留了一段时间,并且它有效。 昨天我发布了一个更新,并在其中发现了一个错误,我今天要修复它。 在将我的alpha apk上传到具有新版本和版本代码的发布商页面后(因此我可以测试购买),在应用内购买不适用于此新版本。 我没有更改任何与应用结算相关的代码。 我正在使用iab库的v3。

我收到此错误消息:

  

01-16 13:15:34.365:E / Parcel(707):解组时未找到类:   com.google.android.finsky.billing.lightpurchase.PurchaseParams 01-16   13:15:34.365:E / Parcel(707):java.lang.ClassNotFoundException:   com.google.android.finsky.billing.lightpurchase.PurchaseParams 01-16   13:15:34.365:E / Parcel(707):at java.lang.Class.classForName(Native   方法)01-16 13:15:34.365:E / Parcel(707):at   java.lang.Class.forName(Class.java:204)01-16 13:15:34.365:   E / Parcel(707):在java.lang.Class.forName(Class.java:169)01-16   13:15:34.365:E / Parcel(707):at   android.os.Parcel.readParcelableCreator(Parcel.java:2091)01-16   13:15:34.365:E / Parcel(707):at   android.os.Parcel.readParcelable(Parcel.java:2055)01-16 13:15:34.365:   E / Parcel(707):在android.os.Parcel.readValue(Parcel.java:1971)01-16   13:15:34.365:E / Parcel(707):at   android.os.Parcel.readMapInternal(Parcel.java:2255)01-16   13:15:34.365:E / Parcel(707):at   android.os.Bundle.unparcel(Bundle.java:223)01-16 13:15:34.365:   E / Parcel(707):在android.os.Bundle.getString(Bundle.java:1082)01-16   13:15:34.365:E / Parcel(707):at   android.content.Intent.getStringExtra(Intent.java:4945)01-16   13:15:34.365:E / Parcel(707):at   com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:3745)   01-16 13:15:34.365:E / Parcel(707):at   com.android.server.am.ActivityStack.startActivityMayWait(ActivityStack.java:4961)   01-16 13:15:34.365:E / Parcel(707):at   com.android.server.am.ActivityManagerService.startActivityInPackage(ActivityManagerService.java:3433)   01-16 13:15:34.365:E / Parcel(707):at   com.android.server.am.PendingIntentRecord.sendInner(PendingIntentRecord.java:254)   01-16 13:15:34.365:E / Parcel(707):at   com.android.server.am.ActivityManagerService.startActivityIntentSender(ActivityManagerService.java:3325)   01-16 13:15:34.365:E / Parcel(707):at   android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:258)   01-16 13:15:34.365:E / Parcel(707):at   com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2122)   01-16 13:15:34.365:E / Parcel(707):at   android.os.Binder.execTransact(Binder.java:388)01-16 13:15:34.365:   E / Parcel(707):at dalvik.system.NativeStart.run(Native Method)01-16   13:15:34.365:E / Parcel(707):引起:   java.lang.NoClassDefFoundError:   com / google / android / finsky / billing / lightpurchase / PurchaseParams 01-16   13:15:34.365:E / Parcel(707):... 19更多01-16 13:15:34.365:   E / Parcel(707):引起:java.lang.ClassNotFoundException:没有   找到上课   “com.google.android.finsky.billing.lightpurchase.PurchaseParams”上   路径:。 01-16 13:15:34.365:E / Parcel(707):at   dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64)   01-16 13:15:34.365:E / Parcel(707):at   java.lang.ClassLoader.loadClass(ClassLoader.java:501)01-16   13:15:34.365:E / Parcel(707):at   java.lang.ClassLoader.loadClass(ClassLoader.java:461)01-16   13:15:34.365:E / Parcel(707):...... 19更多

我在调用购买意图时得到它。 ui上的错误消息是:

  

此版本的应用程序未配置为结算槽   Google Play。有关详细信息,请访问帮助中心。

我在不同的设备上尝试过,效果相同。旧版本的应用程序仍然有效。 昨天它运作得很好。

我应该等待谷歌播放服务获取我有新的测试版更新的信息吗?我猜这个更新还没有到达我的设备。

编辑: 我已经将3个版本代码作为测试版上传到发布商网站,试图修复此问题,现在前一个版本正常工作。所以我想我真的只需要等待。 :(

2 个答案:

答案 0 :(得分:10)

我怀疑,我只需要等几个小时。 :(

编辑:提供更多信息,这与您在一台设备上购买应用内商品时发生的情况相同,而具有相同Google帐户的其他设备暂时不同步。只是谷歌服务器的更新速度不够快。

答案 1 :(得分:1)

您可以使用实时证书对自己的APK进行签名。然后将其安装到您的设备中并测试InAppBilling

如果您使用的是android.test.purchased,它会一直有效,但您的最终回复中却没有developerPayload

如果你在app项目中使用自己的草稿,你可以一直测试但是你会被收费,所以必须自己退还。

您无法使用与Google Play开发控制台相同的Gmail帐户购买商品。

Check out for more Details