Google позволяет вам по-прежнему использовать этот API, но не как встроенный, добавив эту строку в файл gradle:
useLibrary 'org.apache.http.legacy'
Когда я попробовал, он скомпилировался нормально, но когда япопытался использовать некоторые из известных мне классов, которые являются частью старого API (например, класс "HttpClient"), я вижу, что это не позволяет мне это делать.
Я знаю, что не рекомендуется использоватьэто решение, но у нас должно быть приложение, готовое работать там хотя бы временно, пока мы не будем работать на 100% над всеми вещами, которые должны измениться для Android Marshmallow, и мы не хотим сюрпризов в виде сбоев.
Я выполнил переход на Androidx, и теперь Apache httpclinet не поддерживается до SDK версии 23 (например: SDK 22,21,20,19,18, ...).Кто-нибудь может помочь?
HttpClient httpclient=new DefaultHttpClient();
HttpPost httppost=new HttpPost("https://obfuscated/command.php");
httppost.setEntity(new UrlEncodedFormEntity(namevaluepairs, HTTP.UTF_8));
HttpResponse httpresponse=httpclient.execute(httppost);
String response= EntityUtils.toString(httpresponse.getEntity());
.
.
.
android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion 28
defaultConfig {
applicationId "ir.test.com.test"
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
}
и зависимости:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.material:material:1.1.0-alpha02'
implementation 'androidx.legacy:legacy-support-core-utils:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.test.espresso:espresso-core:3.1.1'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestUtil 'androidx.test:orchestrator:1.1.1'
implementation "cz.msebera.android:httpclient:4.4.1.2"
implementation 'org.apache.httpcomponents:httpcore:4.4.10'
configurations.all { resolutionStrategy.force 'com.android.support:support-v4:28.0.0' }
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.daimajia.slider:library:1.1.5@aar'
implementation 'com.androidadvance:topsnackbar:1.1.1'
implementation 'co.ronash.android:pushe-base:1.4.1'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
transitive = true;
}