Help us understand the problem. What is going on with this article?

Android Pie対応についてまとめ

More than 1 year has passed since last update.

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移行対応について

公式:Migrating to 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になる。必要に応じてcleartextTrafficPermittedtrueに指定する必要がある
  • アプリが複数のプロセス間で単一の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の対応関係一覧表

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした