Подтвердить что ты не робот

Как исправить ошибки в автогенерированном файле IMarketBillingService.java?

Я пытаюсь реализовать службу In app billing в своем приложении Andorid.

Я добавил файл 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.

4b9b3361

Ответ 1

Вы можете попробовать использовать параметры компиляции по умолчанию.

  • Щелкните правой кнопкой мыши (или выберите Control-Click) проект и выберите "Свойства"
  • Выберите "Компилятор Java"
  • Снимите флажок "Включить специальные настройки проекта"

Eclipse предложит перекомпилировать, и все должно быть хорошо.

Ответ 2

Получалось также множество ошибок в сгенерированном файле IInAppBillingService.java. Я пробовал много, много предлагаемых решений без успеха. Наконец, на моем Eclipse SDK работал вариант метода Zedifire. (эти шаги из памяти - попробуйте, пока не сработает!)

  • отключен > Проект > Автоматически создавать
  • удаленные файлы /gen
  • THEN перешел в > Window > Preferences > Java > Compiler и обнаружил, что каким-то образом уровень соответствия по умолчанию был равен 1,5
  • изменило соответствие до уровня 1.7 <Литий → Проект > Очистить
  • > Project > Build All (все еще ошибки!)
  • Щелкните правой кнопкой мыши в окне проектa > инструменты андроидa > исправить свойства проекта

VOILA - сгенерированные файлы окончательно скомпилированы без ошибок!

Ответ 3

Project → clean and build может также решить эту проблему

Ответ 4

Причина в том, что Java 1.5 не поддерживает переопределяющие методы интерфейса. fooobar.com/info/5482/... С версии Java 1.6 это разрешено. Таким образом, как уже было сказано easycheese, нужно добавить Java 1.6 или выше в настройки компилятора java свойств проекта.