2015-08-24 30 views
7

DisclaimerAndroid API 23 - HttpClient 4.X repackaged

  • Tôi biết chúng ta không nên sử dụng HttpClient trên Android nữa
  • Trong API 23 chúng ta có tùy chọn để sử dụng useLibrary 'org.apache.http.legacy'

tôi d muốn tiếp tục sử dụng HttpClient (tôi cũng duy trì các thư viện và các dự án dựa trên nó) tuy nhiên, với API 23 các lớp đã biến mất.

Vâng không đi với useLibrary khắc phục, nhưng không thể được sử dụng để phát triển thêm nữa (lớp không tự động hoàn thành, tất cả mọi thứ được hiển thị mã như không hợp lệ)

Chúng tôi cũng có tùy chọn để sử dụng HttpComponents cung cấp nĩa Android của HttpClient 4.3.5.1, tuy nhiên không cung cấp các lớp/tiêu đề/giao diện mà Android cung cấp trên API < 22, do đó, nó biên dịch, nhưng chúng tôi vẫn không thể phát triển hiệu quả.

Có bất kỳ gói thư viện đầy đủ HttpClient nào (thậm chí tốt hơn cả phiên bản cao hơn 4.3) có thể được sử dụng thêm với target/compile-Sdk của phiên bản 23 không?

mới nhất repackage đầy đủ tôi có thể tìm thấy là https://code.google.com/p/httpclientandroidlib/ trong đó sử dụng phiên bản 4.3.2

Tôi cũng thêm vào bình luận cho HC JIRA vấn đề https://issues.apache.org/jira/browse/HTTPCLIENT-1632

workaround này sẽ được lẽ cần thiết chỉ cho đến khi HttpClient 5.X sẽ được phát hành, vì nó phải có tên gói hoàn toàn khác nhau.

Trả lời

4

Vâng, để trả lời câu hỏi của riêng tôi, tôi đã đưa ra dự án, sẽ đóng gói lại và xây dựng HttpClient trong gói với các gói HttpMime, HttpCore và HttpClient-Cache vào không gian tên khác nhau.

Hiện nay phiên bản được cung cấp là 4.3.3 (đồng bộ với ASF HC 4.3.3 phiên bản)

https://github.com/smarek/httpclient-android

Đó là khá tùy biến, vì vậy việc thay đổi gói/tên vật hoặc phiên bản, điều chỉnh xây dựng cho nhu cầu của bạn và như vậy sẽ không có vấn đề gì.

Nó cũng được công bố trên Maven Trung ương dưới dạng cz.msebera.android:httpclient:4.3.3 và tất cả các mã hàng nhập khẩu của bạn hiện đang sử dụng org.apache.http nên được di chuyển (vì lợi ích của việc sử dụng thư viện này) để cz.msebera.android.httpclient

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