2015-06-15 97 views
2

我試圖在我的libgdx項目中實現gdx-pay。所以我遵循libgdx wiki中的Integration example with resolversgdx-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.jargdx-pay-android-0.4.0-library.jargdx-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。

+3

聽起來像是你沒有成功的正確導入核心的薪酬庫到你的核心項目。因此,無論您認爲自己放在覈心中的任何副本都被完全忽略。可能與您在'build.gradle'中定義的路徑不符合您放置的位置有關。 Proguard問題可以通過proguard配置文件來解決。查找需要爲gdx-pay添加哪些行。圖書館可能正在做一些反思。 – Tenfour04

+0

感謝您的評論!使用維基上的最新ProGuard文件似乎可行。 'gdx-pay-0.4.0-library.jar'位於'core/libs'和'build.gradle'中,我對核心和android項目使用同一行:'compile fileTree(dir:'libs ',包括:'* .jar')' – MaxGyver

+0

似乎應該有效。我不知道爲什麼它沒有加載你的核心目錄。 – Tenfour04

回答

2

試試這個:

在的build.gradle:

project(":android") { 
apply plugin: "android" 

configurations { natives } 

dependencies { 
    *** 
    compile "com.badlogicgames.gdxpay:gdx-pay-android:0.9.2" 
    compile "com.badlogicgames.gdxpay:gdx-pay-android-openiab:0.9.2:library" 
    compile "com.badlogicgames.gdxpay:gdx-pay-android-ouya:0.9.2:library" 
} 

}

相關問題