Как исправить ошибки в автогенерированном файле 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.
Ответы
Ответ 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 свойств проекта.