我正在尝试在我的libgdx项目中实现gdx-pay。所以我跟着libgdx维基的Integration example with resolvers。
我在我的核心项目中创建了一个类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')
}
}
任何想法出了什么问题?
编辑:
当我在android项目(文件夹android / lib)中添加gdx-pay-0.4.0-library.jar
时,一切都编译好(仍然不知道为什么它是必要的)。但是,由于
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问题。
答案 0 :(得分: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"
}
}