Pocket

あるアプリをアップデートするために、targetSdkVersion=28にして、もろもろ調整してようやくビルドして、AVDで実行してみると、AVD Android 9.0で、LogCatにエラーが。DefaultHttpClientが見つからないようです。

org.apache.http パッケージは、Android 6.0(API Level=23)のとき、サポートから削除されましたが、build.gradleに次の設定をすることで、引き続き利用できていました。

AndroidManifest.xmlに追加設定すると、今回も延命できました。

動作の変更点: API レベル 28+ をターゲットとするアプリ | Android Developersによると

Apache HTTP クライアントのサポート終了
Android 6.0 では、Apache HTTP クライアントのサポートが削除されました。 Android 9 以降では、そのライブラリが bootclasspath から削除されており、デフォルトでアプリで利用できません。
Android 9 以降をターゲットにしているアプリでは、Apache HTTP クライアントの使用を継続するために、次のコードを AndroidManifest.xml に追加できます。
<uses-library android:name="org.apache.http.legacy" android:required="false"/>

注: API レベルが 24 未満の端末では、org.apache.http.legacy ライブラリが利用できないため、23 以前の最小 SDK を使用しているアプリには android:required="false" 属性が必要です (これらの端末では、bootclasspath で Apache HTTP クラスが利用できます)。