How to rectify the errors in the autogenerated IMarketBillingService.java file?

浪子不回头ぞ 提交于 2019-12-18 18:36:25

问题


I am trying to implement In app billing service in my Andorid application.

I've added the IMarketBillingService.aidl file to my project in Eclipse. Then Eclipse autogenerated the IMarketBillingService.java file, but with many errors.

@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 

Can anyone help me with this?

I am using Mac, Eclipse Juno with last version of Android SDK.


回答1:


You might try to use default compile options.

  1. Right-click (or Control-Click) the project and select "Properties"
  2. Select "Java Compiler"
  3. Uncheck "Enable Project Specific Settings"

Eclipse will prompt to re-compile and it should be all good.




回答2:


Was also getting numerous errors in the generated IInAppBillingService.java. I tried many, many suggested solutions without success. Finally a variant of Zedifire's method worked on my Eclipse SDK. (these steps are from memory - try around until it works!)

  1. turned off >Project>Build Automatically
  2. deleted the /gen files
  3. THEN went to >Window>Preferences>Java>Compiler and found that somehow compliance level had defaulted to 1.5
  4. changed compliance back to level 1.7
  5. >Project>Clean
  6. >Project>Build All (still errors!)
  7. Right clicked on project window >android tools>fix project properties

VOILA -the generated files finally compiled without the errors!




回答3:


Project-->clean and build may solve it as well




回答4:


The reason is, that Java 1.5 does not support overriding interface methods. https://stackoverflow.com/a/212642/1283492 From Java 1.6 onwards it is allowed. Thus as already stated by easycheese, one needs to put Java 1.6 or higher in the java compiler settings of the project properties.



来源:https://stackoverflow.com/questions/13418476/how-to-rectify-the-errors-in-the-autogenerated-imarketbillingservice-java-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!