我試圖在我的libgdx項目中實現gdx-pay。所以我遵循libgdx wiki中的Integration example with resolvers。gdx-pay:「package com.badlogic.gdx.pay does not exist」
我在我的核心項目中創建了一個類PlatformResolver
,在我的android項目中創建了類AndroidResolver
(如在wiki中)。這兩個類進口com.badlogic.gdx.pay.PurchaseManagerConfig
,但我的AndroidResolver
我得到一個編譯錯誤:
Error:(6, 28) error: package com.badlogic.gdx.pay does not exist
我已導入gdx-pay-0.4.0-library.jar
(包括com.badlogic.gdx.pay.PurchaseManagerConfig
)到我的核心項目和gdx-pay-android-openiab-0.4.0-library.jar
,gdx-pay-android-0.4.0-library.jar
,gdx-pay-android-ouya-0.4.0-library.jar
我的Android項目。
由於android項目還編譯了核心工程,PurchaseManagerConfig
應該也可以提供給android項目,不是嗎?
project(":android") {
apply plugin: "android"
configurations { natives }
dependencies {
compile project(":core")
// ...
compile fileTree(dir: 'libs', include: '*.jar')
}
}
任何想法發生了什麼問題?
編輯:
當我添加gdx-pay-0.4.0-library.jar
附加到Android項目(文件夾的Android/lib目錄),一切編譯罰款(仍然不知道爲什麼它是neccessary)。但後來我永遠無法恢復或購買物品,因爲
I/ERROR﹕ gdx-pay: requestPurchaseRestore(): purchaseManager == null
但這似乎是一個ProGuard問題。如果沒有的ProGuard我得到:
I/IAP﹕ IAP: gdx-pay successfully instantiated.
I/﹕ gdx-pay: installed manager: OpenIAB/null
雖然我的項目現在編譯,我還是會很高興,如果有人能解釋我爲什麼我要補充的jar文件的兩倍,因爲這可以幫助我瞭解其他一些問題的gradle。
聽起來像是你沒有成功的正確導入核心的薪酬庫到你的核心項目。因此,無論您認爲自己放在覈心中的任何副本都被完全忽略。可能與您在'build.gradle'中定義的路徑不符合您放置的位置有關。 Proguard問題可以通過proguard配置文件來解決。查找需要爲gdx-pay添加哪些行。圖書館可能正在做一些反思。 – Tenfour04
感謝您的評論!使用維基上的最新ProGuard文件似乎可行。 'gdx-pay-0.4.0-library.jar'位於'core/libs'和'build.gradle'中,我對核心和android項目使用同一行:'compile fileTree(dir:'libs ',包括:'* .jar')' – MaxGyver
似乎應該有效。我不知道爲什麼它沒有加載你的核心目錄。 – Tenfour04