Правила Proguard для доступа к методу IInAppBillingService с отражением - PullRequest
0 голосов
/ 08 февраля 2019

В моем проекте Android есть следующий код:

Class<?> iabServiceStubClass = Class.forName("com.android.vending.billing.IInAppBillingService$Stub");
asInterfaceMethod = iabServiceStubClass.getMethod("asInterface", IBinder.class);

Во время выполнения я получаю исключение:

java.lang.NoSuchMethodException: asInterface [interface android.os.IBinder]

Любые предложения о том, какие правила Proguard использовать для исправленияЭта проблема?Я пробовал следующее:

-keep public class com.android.vending.billing.IInAppBillingService {
    public static com.android.vending.billing.IInAppBillingService asInterface(android.os.IBinder);
    public android.os.Bundle getSkuDetails(int, java.lang.String, java.lang.String, android.os.Bundle);
}
-keep class com.android.vending.billing.** { *; }
-keepclassmembers class com.android.vending.billing.** { *; }
-keepattributes InnerClasses

1 Ответ

0 голосов
/ 22 апреля 2019

Недавно пришлось отладить Facebook SDK из-за проблемы с автоматической регистрацией покупок.Посмотрите здесь , как они получают доступ к методу.Ищите IN_APP_BILLING_SERVICE_STUB.

Также используйте в своем файле Proguard -keep class com.android.vending.billing.** { *; }

...