Google Playの規約変更により2018年11月からAndroidアプリをアップデートする場合、targetSDK28以上にしないといけなくなりました。
初版リリースから1年くらいのアプリであれば大した話ではないかと思うのですが、
仕事で運用しているアプリは5年前くらいに作られたアプリらしく、この影響をもろに受けかなり大変なことになりました。
今後の教訓として残しておきたいと思います。
targetSDK28に変更後、Android 9以上の端末で強制終了
アプリをtargetSDK28に設定してビルドしたところ、Android 9、10端末でアプリ起動時に強制終了するようになりました。
色々と調査したところ、このアプリではHttpClientを使っていることが判明しました。
Http ClientはAndroid6.0からサポート外になってしまっているらしく、Android 9以上ではHttp Clientライブラリごと削除されているらしいです。
このアプリは近々リニューアル予定だったこともあり、なるべく手をかけずにtargetSDK28対応を終わらせたいと思っていたところ、下記の記事を見つけました。
上記の記事を参考にAndroidManifest.xmlに以下を記述してみたところ、
<application> <uses-library android:name="org.apache.http.legacy" android:required="false" />
Android 9以上端末でアプリ起動時の強制終了が発生しなくなりました。
どうにか最低限の対応でどうにかなってよかったです。
それにしてもtargetSDK28以上はやばいですね...(敷居あげすぎ...)
お知らせ
ミステリー脱出ゲーム「廃病院の密室」を最近リリースしました!
もしよろしければダウンロードお願い致します!