Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Target SDK 35 (Android 15) 対応の概要

akkiee76
April 26, 2024

Android Target SDK 35 (Android 15) 対応の概要

「potatotips #87 iOS/Android開発Tips共有会」で発表した資料です。
https://potatotips.connpass.com/event/313875/

【参考ページ】
Behavior changes: Apps targeting Android 15 or higher
https://developer.android.com/about/versions/15/behavior-changes-15?hl=en

akkiee76

April 26, 2024
Tweet

More Decks by akkiee76

Other Decks in Technology

Transcript

  1. #potatotips ©2024 RAKUS Co., Ltd. App Targeting Android 15 Overview

    potatotips #87 iOS/Android開発Tips共有会 2024/04/26 @akkiee76
  2. #potatotips • Akihiko Sato • Mobile & Backend Engineer •

    𝕏 : @akkiee76 • Speaker Deck : @akkie76 自己紹介 2
  3. #potatotips Changes to foreground services • mediaProcessing の追加 • BOOT_COMPLETED

    の制限 ◦ dataSync, camera, mediaPlayback, phoneCall mediaProjection, microphone の起動時に ForegroundServiceStartNotAllowedException が throw 9 サービスによっては注意が必要 ⚠
  4. #potatotips Key management for end-to-end encryption • E2eeContactKeysManager の導入 ◦

    暗号化公開キーを保存するための OS レベルの API を提 供することで、Android アプリでの end-to-end の 暗号化 (E2EE) が容易に 10 具体的なAPIの使い方は今後のアップデートに期待
  5. #potatotips Window inset changes • target SDK 35 & Android

    15+ devices ◦ edge-to-edge が強制化される ⚠ 13
  6. #potatotips 14 targetSdk 34 & Android 15 devices targetSdk 35

    & Android 15 devices https://developer.android.com/about/versions/15/behavior-changes-15?hl=en#edge-to-edge_enforcement
  7. #potatotips 15 targetSdk 34 & Android 15 devices targetSdk 35

    & Android 15 devices https://developer.android.com/about/versions/15/behavior-changes-15?hl=en#edge-to-edge_enforcement insetsを最適化する必要がある
  8. #potatotips 16 targetSdk 34 & Android 15 devices targetSdk 35

    & Android 15 devices https://developer.android.com/about/versions/15/behavior-changes-15?hl=en#edge-to-edge_enforcement insetsを最適化する必要がある
  9. #potatotips Window inset changes • edge-to-edge に対応済み ◦ 全画面での検証が推奨 •

    edge-to-edge に未対応 ◦ M3 Component の一部利用 ◦ insets を個別に修正 17 各画面のテスト & レイアウト修正が必要 ⚠
  10. #potatotips elegantTextHeight attribute • TextView で default が true になる

    • font の垂直方向のメトリクスが補正 • compact fontは今後もサポートされるか未定 ◦ Arabic, Lao, Myanmar, Tamil, Gujarati, Kannada, Malayalam, Odia, Telugu, Thai は要テスト 18 targetSdk 34 以下 targetSdk 35
  11. #potatotips Updated non-SDK restrictions • non-SDK interface の制限強化 ◦ public

    interface で代替可能な手段を検討 ◦ 他の SDK へ移行を検討 ◦ developer に public API のリクエストを行う 20 non-SDK interface の利用はなるべく避ける ⚠
  12. #potatotips Camera and media • audio focus のリクエスト制限 ◦ リクエス要求時は

    Top App もしくは foreground service での実行が要件 ◦ 要件を満たせない場合AUDIOFOCUS_REQUEST_FAILED が返却 22
  13. #potatotips まとめ Android 15 対応では、特に以下の懸念事項について 検証し影響範囲を確認しましょう 🚀 • foreground services

    の見直し • edge-to-edge による UI 崩れ ◦ VRT など検知できる仕組みがあると Better 23