我正在尝试在我的Andorid应用程序中实现In app billing
服务。
我已将IMarketBillingService.aidl
文件添加到Eclipse中的项目中。然后Eclipse自动生成IMarketBillingService.java
文件,但有很多错误。
@Override public android.os.IBinder asBinder() { return mRemote; }
- implements android.os.IInterface.asBinder
- The method asBinder() of type IMarketBillingService.Stub.Proxy must override asuperclass method
@Override public android.os.Bundle sendBillingRequest(android.os.Bundle bundle) throws android.os.RemoteException
{
android.os.Parcel _data = android.os.Parcel.obtain();
android.os.Parcel _reply = android.os.Parcel.obtain();
android.os.Bundle _result;
......
}
- The method sendBillingRequest(Bundle) of type IMarketBillingService.Stub.Proxy must override a superclass method
- implements com.android.vending.billing.IMarketBillingService.sendBillingRequest
任何人都可以帮我吗?
我正在使用Mac,Eclipse Juno和最新版本的Android SDK。
答案 0 :(得分:78)
您可以尝试使用默认编译选项。
Eclipse将提示重新编译,它应该都很好。
答案 1 :(得分:4)
在生成的IInAppBillingService.java中也遇到了很多错误。我尝试了很多很多建议的解决方案但没有成功最后,Zedifire方法的一个变种适用于我的Eclipse SDK。 (这些步骤来自记忆 - 尝试直到它起作用!)
VOILA - 最终编译生成的文件没有错误!
答案 2 :(得分:1)
项目 - >清理和构建也可以解决它
答案 3 :(得分:0)
原因是,Java 1.5不支持覆盖接口方法。 https://stackoverflow.com/a/212642/1283492 从Java 1.6开始,它是允许的。因此,正如easycheese所说,需要将Java 1.6或更高版本放在项目属性的java编译器设置中。