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

AndroidのOSアップデートをより早く届けるために-Project MainlineとAndroid12-

AndroidのOSアップデートをより早く届けるために-Project MainlineとAndroid12-

potatotips#74 の登壇資料です
https://potatotips.connpass.com/event/214754/

Google I/O 2021で「Android12でARTがProject Mainlineのモジュールに含まれる」という発表がありましたが、そもそもProject Mainlineとは何なのかを理解するために、Android OSがどのようにユーザーの手に届くのかを書きました。その上で、Android12でARTがProject Mainlineのモジュールに含まれることがどう嬉しいのかを書きました。iOSに比べてAndroidのOSアップデートが何でこんなに遅いのか?という疑問にもお答えしております。

参考資料
- https://www.youtube.com/watch?v=etLUpHvhNZw
- https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html
- https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html
- https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html

782be973d3c99ed9a805886fa6c2acdf?s=128

nichiyoshi

June 23, 2021
Tweet

Transcript

  1. AndroidのOSアップデートを より早く届けるために Project MainlineとAndroid12

  2. 自己紹介 • Nichika Yoshida • @nichi_yd • FiNC Technologies

  3. Google I/O 2021でこんな発表があった https://www.youtube.com/watch?v=etLUpHvhNZw

  4. Google I/O 2021でこんな発表があった Android12で、Androidのバイトコード実行環境であ るAndroid Runtime(ART)がMainlineモジュールに 追加されてアップデート可能になったよ https://www.youtube.com/watch?v=etLUpHvhNZw

  5. どういうことだろう Mainlineが何を示すかわからない ...

  6. 今回の発表の目的 • Project Mainlineについて理解する • Android12でProject MainlineにARTが追加されて何が嬉しいのか理解する • なんでAndroid OSのアップデート普及がめちゃくちゃ遅いのか理解する

    (iOSの人でも面白いといいな!!!)
  7. Android OSのアップデート普及はめちゃくちゃ遅い 日本国内での独自シェア調査 (2021/04/30現在) http://smatabinfo.jp/os/android/index.html

  8. Android OSのアップデート普及はめちゃくちゃ遅い 日本国内での独自シェア調査 (2021/04/30現在) http://smatabinfo.jp/os/android/index.html 仮に「5%以上のシェアはサポート対象」とすると、 Androidは5年前のバージョンまでサポートする必要 がある

  9. Android OSのアップデートがユーザーに届くまで https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html

  10. https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Googleが最新のリリース コードをオープンソースとし て公開(AOSP)

  11. https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Qualcommなどのチップ製 造業者がハードウェアに合 わせて最新リリースコードを 修正

  12. https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html デバイスメーカーが自身の デバイスに合わせて最新リ リースコードを修正

  13. https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html デバイスメーカーと通信事業 者(キャリア)とで最新リリー スコードをテスト

  14. https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html デバイスメーカーと通信事業 者(キャリア)がユーザーに最 新リリースを配布

  15. Android OSのアップデートがユーザーに届くまで • このように、Androidは2007年の公開以来、ソースコードをオープンソースとし多様な製造業者に よって世界中にスケールすることを意図して設計

  16. Android OSのアップデートがユーザーに届くまで • このように、Androidは2007年の公開以来、ソースコードをオープンソースとし多様な製造業者に よって世界中にスケールすることを意図して設計 • ほとんどの例で、セキュリティパッチの適用も含めたアップデートの管理を端末メーカーが行っている

  17. Android OSのアップデートがユーザーに届くまで • このように、Androidは2007年の公開以来、ソースコードをオープンソースとし多様な製造業者に よって世界中にスケールすることを意図して設計 • ほとんどの例で、セキュリティパッチの適用も含めたアップデートの管理を端末メーカーが行っている • しかも、ほとんどの端末メーカーの場合素のAndroidをそのまま搭載せず、独自のホームランチャー やアプリを搭載するなどカスタマイズを行ってから出荷する

  18. Android OSのアップデートがユーザーに届くまで • このように、Androidは2007年の公開以来、ソースコードをオープンソースとし多様な製造業者に よって世界中にスケールすることを意図して設計 • ほとんどの例で、セキュリティパッチの適用も含めたアップデートの管理を端末メーカーが行っている • しかも、ほとんどの端末メーカーの場合素のAndroidをそのまま搭載せず、独自のホームランチャー やアプリを搭載するなどカスタマイズを行ってから出荷する

    • さらに、キャリアでは日本独自仕様であるワンセグ・フルセグやおサイフケータイなどのハードウェア 面のテストや、プリインストールされているキャリアアプリの動作テストを行ったうえでアップデートす るかを判断する
  19. Android OSのアップデートがユーザーに届くまで • このように、Androidは2007年の公開以来、ソースコードをオープンソースとし多様な製造業者に よって世界中にスケールすることを意図して設計 • ほとんどの例で、セキュリティパッチの適用も含めたアップデートの管理を端末メーカーが行っている • しかも、ほとんどの端末メーカーの場合素のAndroidをそのまま搭載せず、独自のホームランチャー やアプリを搭載するなどカスタマイズを行ってから出荷する

    • さらに、キャリアでは日本独自仕様であるワンセグ・フルセグやおサイフケータイなどのハードウェア 面のテストや、プリインストールされているキャリアアプリの動作テストを行ったうえでアップデートす るかを判断する • 多数の端末種類を抱える端末メーカー、キャリアの場合はもっと時間がかかる
  20. Android OSのアップデートがユーザーに届くまで • このように、Androidは2007年の公開以来、ソースコードをオープンソースとし多様な製造業者に よって世界中にスケールすることを意図して設計 • ほとんどの例で、セキュリティパッチの適用も含めたアップデートの管理を端末メーカーが行っている • しかも、ほとんどの端末メーカーの場合素のAndroidをそのまま搭載せず、独自のホームランチャー やアプリを搭載するなどカスタマイズを行ってから出荷する

    • さらに、キャリアでは日本独自仕様であるワンセグ・フルセグやおサイフケータイなどのハードウェア 面のテストや、プリインストールされているキャリアアプリの動作テストを行ったうえでアップデートす るかを判断する • 多数の端末種類を抱える端末メーカー、キャリアの場合はもっと時間がかかる OSのメジャーアップデートだけでなく、セキュリティアップデートなども同様に配布まで時間がかかる
  21. OSアップデートの普及を加速させるために(1) Project Treble Android 8 ~

  22. OSアップデートの普及を加速させるために(1) https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Project Treble ここを短縮

  23. OSアップデートの普及を加速させるために(1) https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Project Treble Android OSのコードと、チップ製造業 者がさわるハードウェア側との間にイ ンターフェースを追加

  24. OSアップデートの普及を加速させるために(1) https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Project Treble Android OSとチップ製造側のインターフェースにより、 OSアップ デート時のチップ製造側の再実装の強制がなくなった

  25. OSアップデートの普及を加速させるために(1) https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Project Treble OSアップデートの配布が 2.5倍速くなった

  26. OSアップデートの普及を加速させるために(2) Project Mainline Android10 ~ やっとでてきた

  27. OSアップデートの普及を加速させるために(2) https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html Project Mainline 全体を短縮

  28. OSアップデートの普及を加速させるために(2) https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html Project Mainline OSのコアの部分をモジュール化し、 モジュールをPlayストアから直接配信 チップ製造業者も、端末メーカーも、通信事業者も 独自の検証・更新が不要になる メーカーなどに依存せず、同じサービスをすべての Android端末に迅速に届けることができる

  29. OSアップデートの普及を加速させるために(2) Project Mainline 日本語名だと「Google Play システムアップデート」 OSのメジャーバージョンアップ OSのセキュリティアップデート Project MainlineによるOSモジュールの

    アップデート
  30. OSアップデートの普及を加速させるために(2) Project Mainline 利用できるモジュールは ドキュメント参照 https://source.android.com/devices/architecture/modular-system?hl=ja

  31. Android12ではARTがProject Mainlineに追加 https://www.youtube.com/watch?v=etLUpHvhNZw

  32. Android12ではARTがProject Mainlineに追加 ARTの役割 • バイトコードの事前コンパイル・JITコンパイル・プロファイルガイドコンパイルの組み 合わせでスムーズなアプリ起動・実行などのUXを提供 • ガベージ コレクション •

    などなど
  33. Android12ではARTがProject Mainlineに追加 ARTの役割 • バイトコードの事前コンパイル・JITコンパイル・プロファイルガイドコンパイルの組み 合わせでスムーズなアプリ起動・実行などのUXを提供 • ガベージ コレクション •

    などなど • アプリ起動・実行のパフォーマンス向上、メモリ管理の効率化を素早く配信 • サポート対象の言語機能をアップデートできるようになり将来のデバイスに新しい APIを直接追加することも可能になる (らしい) • ARTの端末による実装差分が無くなり、同じ環境を提供できる
  34. まとめ • AndroidのOSはオープンソース (AOSP) • AndroidのOSアップデート(セキュリティアップデート含む)は、チップ製造業者から端末メー カー、通信事業者とそれぞれが独自に実装を加えてユーザーに届けるため、時間がかか る、あるいは配信されないことすらある • Android8以降はProject

    Trebleにより、主にチップ製造業者の実装コストが減って配信速 度が約2.5倍になった • Android10以降はProject Mainlineにより、OSがモジュール分割され、一部は(端末メー カーなどの手が入ることなく)Playストアから直接配信できるようになった • Android12ではProject MainlineのモジュールにARTが含まれ、端末によらずに同じ環境 を迅速に配信できるようになった
  35. まとめ • AndroidのOSはオープンソース (AOSP) • AndroidのOSアップデート(セキュリティアップデート含む)は、チップ製造業者から端末メー カー、通信事業者とそれぞれが独自に実装を加えてユーザーに届けるため、時間がかか る、あるいは配信されないことすらある • Android8以降はProject

    Trebleにより、主にチップ製造業者の実装コストが減って配信速 度が約2.5倍になった • Android10以降はProject Mainlineにより、OSがモジュール分割され、一部は(端末メー カーなどの手が入ることなく)Playストアから直接配信できるようになった • Android12ではProject MainlineのモジュールにARTが含まれ、端末によらずに同じ環境 を迅速に配信できるようになった
  36. まとめ • AndroidのOSはオープンソース (AOSP) • AndroidのOSアップデート(セキュリティアップデート含む)は、チップ製造業者から端末メー カー、通信事業者とそれぞれが独自に実装を加えてユーザーに届けるため、時間がかか る、あるいは配信されないことすらある • Android8以降はProject

    Trebleにより、主にチップ製造業者の実装コストが減って配信速 度が約2.5倍になった • Android10以降はProject Mainlineにより、OSがモジュール分割され、一部は(端末メー カーなどの手が入ることなく)Playストアから直接配信できるようになった • Android12ではProject MainlineのモジュールにARTが含まれ、端末によらずに同じ環境 を迅速に配信できるようになった
  37. まとめ • AndroidのOSはオープンソース (AOSP) • AndroidのOSアップデート(セキュリティアップデート含む)は、チップ製造業者から端末メー カー、通信事業者とそれぞれが独自に実装を加えてユーザーに届けるため、時間がかか る、あるいは配信されないことすらある • Android8以降はProject

    Trebleにより、主にチップ製造業者の実装コストが減って配信速 度が約2.5倍になった • Android10以降はProject Mainlineにより、OSがモジュール分割され、一部は(端末メー カーなどの手が入ることなく)Playストアから直接配信できるようになった • Android12ではProject MainlineのモジュールにARTが含まれ、端末によらずに同じ環境 を迅速に配信できるようになった
  38. まとめ • AndroidのOSはオープンソース (AOSP) • AndroidのOSアップデート(セキュリティアップデート含む)は、チップ製造業者から端末メー カー、通信事業者とそれぞれが独自に実装を加えてユーザーに届けるため、時間がかか る、あるいは配信されないことすらある • Android8以降はProject

    Trebleにより、主にチップ製造業者の実装コストが減って配信速 度が約2.5倍になった • Android10以降はProject Mainlineにより、OSがモジュール分割され、一部は(端末メー カーなどの手が入ることなく)Playストアから直接配信できるようになった • Android12ではProject MainlineのモジュールにARTが含まれ、端末によらずに同じ環境 を迅速に配信できるようになった
  39. ご静聴ありがとうございました FiNC Technologiesでは一緒に働く仲間をWantedlyで積極募集中です!