Skip to content
Benjamin Schulte edited this page Nov 27, 2018 · 4 revisions

Your Proguard settings are depend of the purchase systems you are using. Check the documentation of the payment service implementations you are using for the minimal Proguard configuration.

This is the superset of all implementations:

-keep class com.android.vending.billing.**
-keep class com.amazon.** {*;}
-keep class com.sec.android.iap.**
-keep class com.nokia.payment.iap.aidl.**
-keep class org.onepf.oms.appstore.**
-dontwarn org.onepf.oms.appstore.**

-keep public class com.badlogic.gdx.Gdx {
  public protected *;
}

-keep public class com.badlogic.gdx.Application {
  public protected *;
}

-keep public class com.badlogic.gdx.pay.android.IAP {
  public protected *;
}

-keep public class com.badlogic.gdx.backends.android.AndroidEventListener {
  public protected *;
}

-keep public class com.badlogic.gdx.backends.android.AndroidApplication {
  public protected *;
}

-keep public class com.badlogic.gdx.pay.android.openiab.PurchaseManagerAndroidOpenIAB {
  public protected *;
}

-keep public class com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager {
  public protected *;
}

If this configuration still doesn't work, you can use the following:

-keep class com.badlogic.** {*;}

However, this is not recommended as it prevents proguard from obfuscating all of libGDX.

Clone this wiki locally