我的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
最近不得不调试Facebook SDK以解决有关自动日志记录购买的问题。请参阅here他们如何访问该方法。寻找IN_APP_BILLING_SERVICE_STUB。
也可以在你的Proguard文件-keep class com.android.vending.billing.** { *; }
中使用