2012-11-16 8 views
28

Próbuję wdrożyć usługę In app billing w mojej aplikacji Andorid.Jak naprawić błędy w automatycznie generowanym pliku IMarketBillingService.java?

Dodałem plik IMarketBillingService.aidl do mojego projektu w środowisku Eclipse. Następnie Eclipse autogenerował plik IMarketBillingService.java, ale zawierał wiele błędów.

@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 

Czy ktoś może mi w tym pomóc?

Używam Maca, Eclipse Juno z ostatnią wersją Androida SDK.

Odpowiedz

78

Możesz spróbować użyć domyślnych opcji kompilacji.

  1. prawym przyciskiem myszy (lub z naciśniętym klawiszem Control) projekt i wybierz "Właściwości"
  2. Wybierz "Java Compiler"
  3. odznacz "Włącz Projektu ustawienia specyficzne"

Eclipse poprosi do ponownie skompilować i wszystko powinno być dobre.

+5

Zmieniłem wersję z 1.5 na 1.6 i działało. – easycheese

+2

Jesteś złym człowiekiem. Mam 1000 błędów !! – rahulg

+0

W celu późniejszego odniesienia zmienia to poziom zgodności kompilatora Java z 1.5 na 1.6+, który naprawia ten błąd. Jeśli musisz włączyć lub wyłączyć ustawienia specyficzne dla projektu, jest to przypadkowe. – String

4

Was również się liczne błędy w wygenerowanym IInAppBillingService.java. Próbowałem wielu, wielu sugerowanych rozwiązań bez powodzenia. Ostatecznie, wariant mojego Zedifire'a działał na moim Eclipse SDK. (Kroki te są z pamięci - spróbuj dokoła dopóki to działa)

  1. wyłączony> Projekt> Budowanie Automatycznie
  2. usunięte pliki/gen
  3. następnie udał się do> Okno> Preferencje> Jawa> Compiler i okazało się, że miał jakiś poziom zgodności domyślnie 1,5
  4. zmienionym zgodnie z powrotem do poziomu 1,7
  5. > Projekt> Clean
  6. > Projekt> Budowanie wszystkie błędy (wciąż!)
  7. kliknięciu prawym przyciskiem myszy na oknie projektu> android narzędzia> Właściwości projektu fix

voilà -The wygenerowane pliki ostatecznie skompilowany bez błędów!

0

Powodem jest to, że Java 1.5 nie obsługuje przesłonięcia metod interfejsu. https://stackoverflow.com/a/212642/1283492 Od wersji 1.6 Java jest dozwolone. Tak więc, jak już zostało powiedziane przez easycheese, należy umieścić Java 1.6 lub nowszą w ustawieniach kompilatora java właściwości projektu.

Powiązane problemy