28

Có cách nào để đưa thư viện Apache trực tiếp vào Gradle để làm cho nó hoạt động với Android 6.0 không?Kết nối HTTP HTTP với Android 6.0 (Marshmallow)

Tôi đã cố gắng để bao gồm các thư viện như thế:

compile 'org.apache.httpcomponents:httpcore:4.4.1' 
compile 'org.apache.httpcomponents:httpclient:4.5' 

Và Android Studio không thể xoay sở để tìm việc nhập khẩu như sau:

import org.apache.http.auth.AuthenticationException; 
import org.apache.http.auth.Credentials; 
import org.apache.http.auth.MalformedChallengeException; 
import org.apache.http.auth.UsernamePasswordCredentials; 
import org.apache.http.impl.auth.DigestScheme; 
+0

cố gắng làm sạch và xây dựng lại –

Trả lời

56

This page thảo luận về việc loại bỏ các lớp Apache HTTP, và nó cho thấy một workaround cũng như:

Tiếp tục sử dụng các API Apache HTTP, trước tiên bạn phải khai báo compile- sau thời gian phụ thuộc vào tập tin build.gradle của bạn:

android { 
     useLibrary 'org.apache.http.legacy' 
    } 

trong trường hợp của tôi Android Studio vẫn phàn nàn rằng nó không thể tìm thấy thứ các lớp ese, nhưng ứng dụng đã xây dựng và chạy.

Mặc dù vậy, trang khuyên bạn nên chuyển sang HttpURLConnection.

+1

@ Hrk nhưng tốt hơn hết là cập nhật mã của bạn lên các chuẩn Android mới nhất – Nepster

+0

@Nepster Cố gắng thực hiện tiêu hóa trên okhttp với tiêu chuẩn android mới nhất, vẫn đang chờ triển khai tốt :( – Hrk

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