2014-01-16 34 views
9

我的應用程序已在Play商店一段時間,它的工作。 昨天我發佈了一個更新,發現了一個錯誤,我想今天修復它。 將新版本和版本代碼(我可以測試購買)上傳到發佈商頁面後,我的阿爾法apk文件在應用程序購買不適用於這個新版本。 我沒有更改任何與應用帳單相關的代碼。 我正在使用via的iab庫。在應用程序計費失敗我的應用程序的新版本

我收到此錯誤信息:

01-16 13:15:34.365: E/Parcel(707): Class not found when unmarshalling: 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 Method) 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): at 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): at 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): at 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): Caused by: java.lang.NoClassDefFoundError: com/google/android/finsky/billing/lightpurchase/PurchaseParams 01-16 13:15:34.365: E/Parcel(707): ... 19 more 01-16 13:15:34.365: E/Parcel(707): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.finsky.billing.lightpurchase.PurchaseParams" on path: . 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 more

我得到它的時候買入意圖被調用。上UI 錯誤信息是:

This version of the application is not configured for billing trough Google Play. Check the help center for more information.

我已經嘗試過在不同設備上,具有相同的結果。舊版本的應用程序仍然有效。 昨天它完美運作。

我是否應該等待谷歌播放服務獲取信息,我有一個新的測試版更新?我猜測這個更新還沒有達到我的設備。

編輯: 我已經上傳了3個版本碼作爲beta到發佈商網站試圖解決這個問題,現在前一個版本正常。所以我想我真的不得不等待。 :(

+0

看起來你的構建可能會被破壞。一個ClassNotFoundException與beta更新無關(並且下次:請不要使用blocktraote作爲堆棧跟蹤,但是使用正確的縮進或「代碼」按鈕,這是更好的可讀性) – WarrenFaith

+0

設置版本代碼較低(==到市場上的版本),併發布版本,使購買工作再次。我的整個日誌分爲1行。 – Tamas

+0

好吧,你嘗試了構建過程mult很多次,它總是失敗? – WarrenFaith

回答

9

正如我懷疑,我不得不等待幾個小時。 :(

編輯:給予更多信息,這是當您在一臺設備上購買應用內商品時發生的情況,並且具有相同Google帳戶的其他設備暫時不同步。這只是因爲谷歌服務器的更新速度不夠快。

+0

This does不提供對這個問題的回答。評論或者請求作者澄清,在他們的帖子下留下評論。 – chridam

+10

我是作者.. – Tamas

+0

我有同樣的問題。我已經上傳我的.apk到Alpha上。但是我並沒有真正「發佈」Alpha版本,我懷疑這是問題所在,我會在幾個小時內更新此評論,看看它是否開始工作 – John

1

你想與您的生活憑證簽署APK。然後,如果你使用的是android.test.purchased將所有的工作方式安裝到您的設備和測試InAppBilling

,但你不會有developerPayload在你的最終響應。

如果您使用的是自己的草案中的應用項目,你可以測試所有的方式,但你將被收取,因此將不得不自己事後退還了。

你可以不買具有與g相同的gmail帳戶的項目oogle播放開發控制檯。

Check out for more Details

+0

您應該使用您的活動證書籤署您的APK。然後將其安裝到您的設備並測試InAppBilling。 我做到了。 如果您使用android.test.purchased 我不是。 你可以測試所有的方式,但你將被收取 這不是真的:) 剛剛成立的測試帳戶,這樣你就不會收取 你可以不買同一個Gmail帳戶 我知道的項目。我不使用同一個。 – Tamas

+0

「如果您使用的是android.test.purchased,它將一路工作,但您的最終響應中不會有developerPayload」不正確。它的工作原理是在3.0 – Deepscorn

+0

Tamas中進行測試,「只需設置測試賬戶,這樣你就不會被收費」告訴我如何。因爲我發佈了apk到alpha通道,爲測試人員創建了google + group,連接到alpha通道,被邀請的人,他們確實收取費用並且之後退款(所以,信用卡歷史很快就變成垃圾郵件: – Deepscorn

相關問題