2012-11-16 21 views
28

Tôi đang cố triển khai dịch vụ In app billing trong ứng dụng Andorid của mình.Làm cách nào để sửa lỗi trong tệp IMarketBillingService.java được tạo tự động?

Tôi đã thêm tệp IMarketBillingService.aidl vào dự án của tôi trong Eclipse. Sau đó, Eclipse tự động phát hiện tệp IMarketBillingService.java nhưng có nhiều lỗi.

@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 

Có ai giúp tôi với điều này không?

Tôi đang sử dụng Mac, Eclipse Juno với phiên bản SDK Android mới nhất.

Trả lời

78

Bạn có thể thử sử dụng các tùy chọn biên dịch mặc định.

  1. Nhấp chuột phải (hoặc Control-Click) dự án và chọn "Properties"
  2. Chọn "Java Compiler"
  3. Bỏ chọn "Enable Dự án Cài đặt cụ thể"

Eclipse sẽ nhắc đến biên dịch lại và tất cả đều tốt.

+5

Đã thay đổi phiên bản của tôi từ 1.5 đến 1.6 và phiên bản này hoạt động. – easycheese

+2

Bạn là một người ác. Có 1000 lỗi !! – rahulg

+0

Để tham khảo trong tương lai, nó thay đổi mức tuân thủ trình biên dịch Java từ 1,5 đến 1,6+ để sửa lỗi này. Nếu bạn phải bật hoặc tắt cài đặt dành riêng cho dự án để thực hiện điều đó, điều đó là ngẫu nhiên. – String

1

Project -> sạch và xây dựng có thể giải quyết nó cũng

4

Cũng được nhận nhiều sai sót trong IInAppBillingService.java tạo ra. Tôi đã thử nhiều, nhiều giải pháp được đề xuất mà không thành công. Cuối cùng, một biến thể của phương thức Zedifire đã làm việc trên Eclipse SDK của tôi. (Các bước được từ bộ nhớ - thử xung quanh cho đến khi nó hoạt động)

  1. tắt> Project> Build Tự động
  2. xóa các tập tin/gen
  3. sau đó đi đến> Window> Preferences> Java> Compiler và thấy rằng bằng cách nào đó mức độ tuân thủ đã mặc định để 1,5 tuân thủ
  4. thay đổi trở lại mức 1,7
  5. > Dự án> sạch
  6. > Project> Build Tất cả (vẫn còn lỗi!)
  7. Nhấp chuột phải trên cửa sổ dự án> công cụ android> sửa thuộc tính dự án

VOILA-tệp được tạo cuối cùng được biên dịch mà không có lỗi!

0

Lý do là, Java 1.5 không hỗ trợ các phương thức giao diện ghi đè. https://stackoverflow.com/a/212642/1283492 Từ Java 1.6 trở đi, nó được cho phép. Vì vậy, như đã nêu bởi easycheese, một trong những cần phải đặt Java 1.6 hoặc cao hơn trong các thiết lập trình biên dịch java của các thuộc tính dự án.

Các vấn đề liên quan