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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for akkiee76 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

Avatar for akkiee76

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