2013-02-26 38 views
6

Tôi muốn tích hợp ứng dụng của mình với nhiều dịch vụ lưu trữ tệp khác nhau. Tôi đã làm theo hướng dẫn nhanh hơn cho sdk Drive, thêm một loạt các lọ vào thư mục libs dự án của tôi. Thêm vào đó, sdk Dropbox đòi hỏi danh sách sau đây của lọ:Cách an toàn để giải quyết xung đột phụ thuộc đối với Drive và Dropbox?

  • commons-logging-1.1.1.jar
  • dropbox-android-sdk-1.5.3.jar
  • httpclient-4.0.3. jar
  • httpcore-4.0.1.jar
  • httpmime-4.0.3.jar
  • json-đơn giản-1.1.jar

Khi tất cả các được thêm vào dự án của tôi, tôi nhận được lỗi sau khi tôi cố gắng chạy:

Dex Loader] Không thể thực thi dex: Nhiều file dex xác định Lorg/apache/http/tổ chức/MIME/FormBodyPart;

Nếu tôi xóa bình httpmime được thêm cho Dropbox, dự án của tôi sẽ hoạt động tốt. Nhưng đây có phải là cách an toàn để giải quyết xung đột không? Có phương pháp thay thế nào mà tôi có thể xây dựng dự án của mình và bao gồm tất cả các lọ cần thiết không?

+0

Có phải jmile httpmine trong SDK khác không? –

Trả lời

0

Giả sử không có xung đột phiên bản nào sẽ hoạt động tốt. So sánh httpmime-4.0.3.jar với jar httpmime mà Drive được thêm vào thư mục libs của bạn. Nếu chúng giống nhau, thì tốt thôi. Nếu chúng khác nhau, thì bạn sẽ phải tìm ra sự khác biệt giữa hai và đảm bảo rằng chúng không phá vỡ những thay đổi. Như một phương sách cuối cùng, bạn cũng có thể đóng gói lại một trong các SDK với phiên bản httpmime bắt buộc của nó trong một cái lọ được chọn lọc làm xáo trộn với ProGuard, mặc dù đó là một rắc rối.

0

Nếu bạn đang phát triển với Eclipse, hãy xem xét sử dụng Google Plugin cho Eclipse. Nó cung cấp một cách để thêm bất kỳ SDK của Google vào ứng dụng của bạn. Tất cả các lọ được thêm tự động.

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