Android Pieとは
公式:https://developer.android.com/about/versions/pie?hl=ja
Android 9.0のこと。
何故Pieかというと、毎versionでお菓子の愛称を付けているから。
6.0はMarshmallow、7.0はNougat、8.0はOreoだった。
機能的な変更点
参考:【まとめ】Android Pie 9.0の新機能、特徴、レビュー、変更点、不具合
- ホームボタンが廃止になり、バーになった。iPhone XのようなUXに
- 最近使用したアプリの表示が新しくなり、よく使うアプリが5つ表示された状態の画面になった
- アプリドロワーが新しくなり、頻繁に使用されるアプリが一番上に表示されるようになった
- 「アプリのダッシュボードの表示」を搭載
- 「アプリタイマー」機能の搭載(アプリの利用時間がグラフィックに表示できる)
- 端末を平面に置き、画面を下にして起動する「Shushモード」の搭載(自動的に音声通知と振動をミュートに)
- 「ビール」の絵文字デザイン変更
- テキスト拡大表示
etc
開発面でのAndroid 9移行対応について
移行は「基本的な互換性の確認」と「targetSdkVersionを28にする対応」の二つのフェーズがあるとのこと。
基本的な互換性の確認
参考:Behavior changes for all apps
targetSdkVersionを変えなくても、Android 9ではアプリの動作に影響を与える可能性がある。具体的には、以下のような変更点があり、これによってAndroid 9では一部機能が動かないなどの可能性が存在する。
- non-SDKインターフェースの制限:一部APIでリフレクション経由などでのアクセスがブロックされる
- Cryptoプロバイダの廃止:
SecureRandom.getInstance("SHA1PRNG", "Crypto")
を呼び出すと、NoSuchProviderException
がスローされる - UTF-8デコーダが厳密になり、Unicode標準に準拠するようになる
- アイドル状態でカメラ、マイク、SensorManagerセンサーにアクセスできなくなる
- アプリスタンバイバケットの導入:アプリの使用頻度に応じてバケットが割り当てられ、優先度が変化する
- バッテリーセーバーの改善
- 電話番号や通話履歴へのアクセスの制限
targetSdkVersionを28にする対応
参考:Behavior changes for apps targeting API 28+
- フォアグラウンド サービスを使用する際に FOREGROUND_SERVICE パーミッションをリクエストする必要がある
- ビルドシリアル番号のサポートの終了(Build.SERIALが常に"UNKNOWN"になる)
- プライベートDNS APIの考慮が必要
-
isCleartextTrafficPermitted()
がデフォルトfalse
になる。必要に応じてcleartextTrafficPermitted
をtrue
に指定する必要がある - アプリが複数のプロセス間で単一の
WebView
データディレクトリを共有できなくなっている - ワールドアクセスが可能な Unix パーミッションを使用して、他のアプリとデータを共有できない
- 現在のデフォルトではないネットワーク上のネットワークトラフィックがカウントされ、そのトラフィックをクエリするために、
NetworkStatsManager
クラスのメソッドが提供される - Apache HTTP クライアントのサポートが削除される
- 面積が0のビューはフォーカス不可
- 4桁および8桁の16進数CSS色を扱うために、CSS Color Module Level 4で策定された動作を有効にする必要がある
- ドキュメントのルート要素がスクロール要素である場合、適切な処理が実行される
- 保留されたアプリからの通知が、アプリ再開まで非表示になる
Pie関連のリンク
https://github.com/operando/Notes/tree/master/potatotips_52
https://developers-jp.googleblog.com/2018/10/introducing-android-9-pie.html
https://feel-log.net/android/developer/android_9_pie_migrations_apps/
その他のリンク
[Android]Androidバージョンと対応するAPIレベル/コードネーム一覧
AndroidのAPI LevelとVersionの対応関係一覧表