2011-04-02 49 views
90

由於有幾天可以在Android應用程序中使用應用內結算。當然非常酷。所以,我開始爲我的應用程序更新以實現此目的。但是現在我遇到了一些問題。這是我所做的:應用程序錯誤:該版本的應用程序未配置爲市場開票

  • 我第一次嘗試保留產品ID測試靜態應用程序內 結算響應。這沒有問題。
  • 我上傳了一個草案APK到市場上(包括生產簽名,沒有調試簽名),其中包括com.android.vending.BILLING權限。
  • 當我這樣做時,我能夠在市場上的應用程序中添加「應用內商品」,並將其設置爲已發佈狀態。
  • 我創建了一個測試用戶並重置了我的設備,以使測試用戶成爲我的測試設備上的主要帳戶。
  • 保留的產品ID仍然有效。

現在出現這個問題。當我使用我自己的產品ID(我之前添加的產品ID)時,將顯示一個對話框,其文本如下:

應用程序錯誤:此版本的應用程序未配置爲市場結算。中心獲取更多信息

我可以在日誌中找到什麼奇怪的東西。任何人都知道我在這裏做錯了什麼?

回答

156

我剛剛遇到此問題,並意識到這是因爲我正在運行我的應用程序的調試,未簽名版本。在Eclipse中,當我導出並簽署我的應用程序並將其安裝到手機上時,我能夠使用我的應用內產品而不會看到此錯誤消息。

+8

調試版本沒問題,但必須簽名。 – 2012-01-28 03:19:02

+1

是否需要發佈用於測試inApp項目的應用程序。我發佈了inapp項目,並保持應用程序未發佈。如果問題很愚蠢或無關,我很抱歉。 – Jana 2012-02-27 12:18:10

+0

@ jana不需要在應用程序中發佈應用程序測試,但是需要發佈應用程序產品以便發佈,否則在測試應用程序內產品時,您的設備上會出錯。「找到「 – 2012-05-24 07:08:53

34

我也遇到了這個問題。我終於意識到,我發佈的應用程序的版本號爲3,我的草稿(未發佈的帶有帳單權限的apk)的versionCode爲4,並且我用於測試應用內付費的已簽名apk仍處於versionCode 3.一旦我將versionCode更改爲4,我能夠通過實際的應用內產品頁面來查看我正在申請的購買內容。

22

當上傳的apk作爲草稿與測試模式下在您的系統上運行的apk不匹配時,可能發生在已簽名的已發佈版本上。只要確保你的版本匹配,你應該在測試模式下沒問題,並會停止看到錯誤。

這裏最大的擔憂是我們會在生產中看到這種相同的行爲,即我們發佈1.0.0-1與應用內計費,然後我們發佈1.0.0-2,和用戶運行1.0.0 -1將無法購買或恢復購買,並將收到相同的錯誤(非常不好的用戶體驗)。一直以來都在提及這種行爲的文檔,特別針對測試模式,但至今沒有運氣;我們在這裏添加了一個bug:http://code.google.com/p/marketbilling/issues/detail?id=15#c0

+3

+1爲附加信息,向前思考和鏈接到bug線程。 – 2012-01-13 13:54:40

6

我的解決方案是我需要使用相同的密鑰在Market中(APK上簽名)和測試。因此,我不是隻運行應用程序,而是每次更新都必須導出帶簽名的APK,然後使用apk命令行命令將其卸載並重新安裝到設備中。原則上,您也可以使用自己的密鑰庫作爲調試密鑰庫,但它需要使用特定的硬編碼密碼和密鑰名稱。

43

我發現一旦我將我的APK的新副本上傳到市場,我就會在下一個小時左右的過程中遇到「應用程序錯誤」。至少過了一個小時後(有時需要兩個小時才能過去),那麼我就不會再犯這個錯誤了,於是我可以毫無問題地購買我的物品。 Google服務器似乎至少需要一個小時才能處理您上傳新APK的事實(關於APK的InApp計費方面)。

因此,我的建議是,您需要在上傳APK後等待1到2小時,然後看看是否仍然出現「應用程序錯誤」。

+0

我只是想重申肯定這個答案爲我工作。我得到這個錯誤 - 即使應用程序版本是正確的。除了等待幾個小時之外,我沒有做任何事情,它開始正常工作(我沒有再看到錯誤)。 – Booger 2012-06-03 19:41:20

+4

我會第二個:它對我也有效,等待幾個小時(實際上等了一夜,所以我不知道確切的時間)。作爲一篇小編輯評論,谷歌無法給出更準確的錯誤信息併爲我們節省大量麻煩令人沮喪。 – 2012-06-23 22:45:39

+0

這是否意味着,我的用戶使用的應用程序版本比當前更早,無法使用應用內購買,並且必須先更新應用程序? – Kedu 2014-10-31 09:24:42

14

我也遇到了同樣的問題......但現在的問題是解決了

我的看法基於幾個試驗:

  1. 版本代碼應與雙方在谷歌Play和設備
  2. 即使版本匹配,我們仍然可以得到這個錯誤
  3. 等待約1至2小時,然後嘗試,我們不會得到這個錯誤

希望這有助於

+1

我也發現版本代碼應該匹配。至少您的測試版本不能高於Google Play上的版本。我不確定其他方式是否也是如此。我希望不會,因爲那意味着具有舊版本應用程序的人不能使用我的應用程序內帳單。 – 2012-06-10 09:13:02

+0

#3是訣竅。如果您確定一切正常,請稍事休息並稍後再試。它只需要一些時間來更新:) – yoshi 2012-06-11 08:02:18

0

思想,如果你得到這個錯誤我會分享一個更可行的解決方案。我最初上傳到谷歌我的apk的草案啓用了結算許可,所以我能夠設置在應用程序購買。後來我上傳了另一個apk,沒有從我的AndroidManifest中丟失結算許可,導致了錯誤。絕對看起來不太可能的情況,但它發生在我身上,所以這是可能的。

編輯:沿着同樣的摺疊,如果您提交爲谷歌草稿版本是無符號的,錯誤也會發生。

0

要扔在我的兩分錢,我能夠通過上傳到Beta版,並創建一個Gmail帳戶與我的應用程序的新版本中的設置選項卡下的測試獲得測試...

我現在正在將它轉移到生產...

謝謝! 彌敦道

-2

舊線,但加入我的經驗...

我安裝了的versionCode 1比在實體店更高的APK。在我的Nexus 7的2個不同帳戶上玩過,並遇到這個問題。所以我從商店卸載並重新安裝,以確保versionCode匹配。即使在一夜之間,這個錯誤也沒有清楚。

原來我需要從所有3個Google帳戶中卸載我已經綁定到我的Nexus 7.當我從nexus 7上的所有三個帳戶中明確卸載應用程序後,恢復,然後從商店重新安裝。

7

從重複的問題複製:有幾個原因,可能會出現https://stackoverflow.com/a/22469253/1321401

此錯誤。
以下是Google IAB測試的要求列表。

先決條件:

  1. AndroidManifest必須包括「com.android.vending.BILLING」 權限
  2. APK內置於發佈模式
  3. APK與發行證書簽署。
  4. APK上傳到alfa/beta distribution渠道(以前 - 作爲草稿)至少一次到開發者控制檯。 (需要一些時間〜2h-24h)。
  5. IAB 產品發佈及其狀態設置爲活動
  6. 開發人員控制檯中添加了測試帳戶

考試要求:

  1. 測試APK擁有相同的的versionCode作爲一個上傳到開發者控制檯。
  2. 測試APK與簽署相同的證書作爲一個上傳到dev.console。
  3. 測試帳戶(不是開發人員) - 是設備上的主帳戶

P.S:調試與釋放證明https://stackoverflow.com/a/15754187/1321401(日Thnx @dipp的鏈接)

P.P.S:想使這個名單很長一段時間了。

Thnx @zlgdev for update

+1

versionCode讓我 - 爲什麼這需要? – slott 2014-12-04 08:16:25

相關問題