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

nichiyoshi

June 23, 2021
Tweet

More Decks by nichiyoshi

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. OSアップデートの普及を加速させるために(1)
    Project Treble
    Android 8 ~

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  33. Android12ではARTがProject Mainlineに追加
    ARTの役割
    ● バイトコードの事前コンパイル・JITコンパイル・プロファイルガイドコンパイルの組み
    合わせでスムーズなアプリ起動・実行などのUXを提供
    ● ガベージ コレクション
    ● などなど
    ● アプリ起動・実行のパフォーマンス向上、メモリ管理の効率化を素早く配信
    ● サポート対象の言語機能をアップデートできるようになり将来のデバイスに新しい
    APIを直接追加することも可能になる (らしい)
    ● ARTの端末による実装差分が無くなり、同じ環境を提供できる

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  39. ご静聴ありがとうございました
    FiNC Technologiesでは一緒に働く仲間をWantedlyで積極募集中です!

    View Slide