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

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

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

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

    • さらに、キャリアでは日本独自仕様であるワンセグ・フルセグやおサイフケータイなどのハードウェア 面のテストや、プリインストールされているキャリアアプリの動作テストを行ったうえでアップデートす るかを判断する • 多数の端末種類を抱える端末メーカー、キャリアの場合はもっと時間がかかる OSのメジャーアップデートだけでなく、セキュリティアップデートなども同様に配布まで時間がかかる
  3. Android12ではARTがProject Mainlineに追加 ARTの役割 • バイトコードの事前コンパイル・JITコンパイル・プロファイルガイドコンパイルの組み 合わせでスムーズなアプリ起動・実行などのUXを提供 • ガベージ コレクション •

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

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

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

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

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

    Trebleにより、主にチップ製造業者の実装コストが減って配信速 度が約2.5倍になった • Android10以降はProject Mainlineにより、OSがモジュール分割され、一部は(端末メー カーなどの手が入ることなく)Playストアから直接配信できるようになった • Android12ではProject MainlineのモジュールにARTが含まれ、端末によらずに同じ環境 を迅速に配信できるようになった