我正在尝试在游戏中设置gdx-pay。我已遵循官方自述文件(https://github.com/libgdx/gdx-pay/),但似乎无法在我的AndroidLauncher中实例化PurchaseManager。
我已经建立了一个处理PurchaseManager安装的类,但是每次我尝试在AndroidLauncher中实例化它时,都会出现此错误:
“ java.lang.RuntimeException:无法启动活动ComponentInfo {appPackage.AndroidLauncher}:java.lang.IllegalArgumentException:必须启用对未决购买的支持。通过在BillingClientBuilder上调用“ enablePendingPurchases()”来启用它。” >
自述文件表示要将其添加到AndroidLauncher onCreate
game.purchaseManager = new PurchaseManagerGoogleBilling(this);
问题是我必须添加这个
ProjectName.purchaseManager = new PurchaseManagerGoogleBilling(this);
这给了我一个错误,说我必须在我的ProjectName类中使purchaseManager静态
当我这样做时,我得到了上面提到的RuntimeException。
示例gdx-pay项目使用以下代码实例化PurchaseManager
public class AndroidLauncher extends GenericAndroidLauncher {
@Override
protected void initFlavor(GdxPayApp game) {
super.initFlavor(game);
game.purchaseManager = new PurchaseManagerGoogleBilling(this);
}
}
当我尝试此操作时,@ Override无效且initFlavor不存在。我尝试在gdx-pay文件中寻找initFlavor,但没有找到任何运气... 感谢您抽出宝贵时间来帮助
答案 0 :(得分:0)
事实证明,我的Android gradle中的以下行是问题
implementation 'com.android.billingclient:billing:2.0.1'
Gdx-pay自动处理此问题并使用客户端1.1 问题是将billingclient设置为2.0.1。我可以通过删除该行来修复它。非常感谢libGdx不和谐的家伙!