uses - sdk android 23




Conexão HTTP do Apache com o Android 6.0(Marshmallow) (2)

De acordo com as alterações do diff da API 22-23, os pacotes org.apache.http. * Foram removidos a partir do nível 23 da API do Android 6.0 (Marshmallow).

http://developer.android.com/sdk/api_diff/23/changes.html

via: http://android-developers.blogspot.co.uk/2015/08/m-developer-preview-3-final-sdk.html

Existe alguma maneira de incluir a biblioteca Apache diretamente no Gradle para fazê-lo funcionar com o Android 6.0?

Eu tentei incluir as bibliotecas assim:

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

E o Android Studio não conseguiu encontrar a seguinte importação:

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;

Esta página discute a remoção das classes HTTP do Apache e sugere uma solução alternativa também:

Para continuar usando as APIs HTTP do Apache, você deve primeiro declarar a seguinte dependência de tempo de compilação em seu arquivo build.gradle:

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

No meu caso, o Android Studio ainda reclamava que não conseguia encontrar essas classes, mas o aplicativo foi criado e executado.

A página recomenda que você mude para HttpURLConnection , no entanto.







android-6.0-marshmallow