Androidアプリの広告表示にアドフリくんを使っているけど、Android9.0にしたらクラッシュした。。
Android9.0でいろいろ変わったらしいので、そのときの備忘録。
変更点は以下でアナウンスされている。
動作の変更点: API レベル 28+ をターゲットとするアプリ | Android Developers
apacheライブラリが足りなくてクラッシュ
Android9.0で「Apache HTTP クライアントのサポート終了」したらしい。。 アドフリくんを使っているようで、以下のようなエラーが。。
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/client/DefaultHttpClient; at
なので、利用することをAndroidManifest.xmlに追記する。
<application> <uses-library android:name="org.apache.http.legacy" android:required="false"/> </application>
Foreground Serviceを使う場合はパーミッションが必要に
Android8.0の変更だが、開発中のアプリで未対応だったので合わせて追記。
Context.startForegroundService()
などを利用してServiceをフォアグラウンドで実行する場合、
AndroidManifest.xmlにパーミッションが必要になった。
<manifest> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> </manifest>
以上!!