使用反射访问IInAppBillingService方法的Proguard规则

问题描述 投票:0回答:1

我的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
android proguard in-app-billing
1个回答
0
投票

最近不得不调试Facebook SDK以解决有关自动日志记录购买的问题。请参阅here他们如何访问该方法。寻找IN_APP_BILLING_SERVICE_STUB。

也可以在你的Proguard文件-keep class com.android.vending.billing.** { *; }中使用

© www.soinside.com 2019 - 2024. All rights reserved.