Googleがスマホなど向け次期OS「Android 13」の開発者向けプレビュー版をリリース!

Googleは10日(現地時間)、スマートフォン(スマホ)やタブレットなど向けプラットフォーム「Android」の次期バージョン「Android 13」(開発コード名:Tiramisu)を発表しています。合わせて開発者向けプレビュー版「Android 13 Developer Preview 1」( https://developer.android.com/about/versions/13 )を公開しています。

今回提供されたAndroid 13 Developer Preview 1はAndroidエミュレーターのほか、Pixel 4、Pixel 4 XL、Pixel 4a、Pixel 4a (5G)、Pixel 5、Pixel 5a、Pixel 6、Pixel 6 ProでテストするためのファクトリーイメージやSDKが含まれており、ファクトリーイメージからパソコン(PC)と接続して「Android Flash Tool」を使って導入するようになっています。

なお、ネットワーク経由によるソフトウェア更新(OTA)は現時点では用意されておらず、今後提供が開始される予定の一般向けベータ版「Android Beta Program」( https://g.co/androidbeta )によって提供され、ベータ版はPixelシリーズ以外にも従来通りに他メーカーの一部製品にも順次提供される見込み。

Android 13 Developer Preview 1のPixelシリーズにおけるビルド番号は「TPP1.220114.016」で、Androidセキュリティーパッチレベルは「February 2022」となっており、Google Play servicesは「21.48.16」となります。またエミュレーターではx86 64bitとARM v8-Aがサポートされ、APIレベルは「T DP1」となっているということです。

02

Android 13は現在の最新バージョンの「Android 12」の次のメジャーアップデートとなる予定のバージョンで、最近の流れであるセキュリティーやプライバシーをより強化しており、さらに大画面やフォルダブル向けに提供される「Android 12L」で導入された新しい機能のいくつかも提供され、正式版に向けて徐々にAndroid 13の新機能を追加していくということです。

正式版のリリースまでのスケジュールは今回のDeveloper Preview 1に続いて3月に「Developer Preview 2」、4月に初のベータ版となる「Beta 1」が提供され、5月に「Beta 2」、6月に最初の安定版(Platform Stability)となる「Beta 3」、7月に正式版に近い最終テストとなる「Beta 4」が提供され、その後にAOSPとエコシステム向けの正式版がリリースされる予定となっています。今回、案内された新機能は以下の通り。

○プライバシーとセキュリティー
最も個人的で機密性の高い情報でより信頼できるOSとアプリが求められており、プライバシーはAndroidを開発する上で原則として中核をなし、Android 13でも製品上でより安全な環境を提供し、より多くの制御を提供することによってすべての人に責任のある高品質のプラットフォームを構築することに重点を置いているということです。

Android 13 DP1でも写真や動画をアプリと安全に共有できる「フォトピッカー」やアプリに位置情報のアクセス許可を与える必要性をさらに最小限に抑える新しい無線LAN(Wi-Fi)のアクセス許可を導入しています。Googleでは新しいAPIを試してこれらの変更がアプリにどのように影響するかをテストすることをオススメしています。

・フォトピッカー
写真とビデオのプライバシーを保護するためにAndroid 13ではシステムに新たにフォトピッカーを追加します。これは製品本体(ローカル)にある写真とクラウドにある写真の両方を安全に共有するための標準的で最適化された機能となります。

Androidにおいてこれまで提供されてきたドキュメントピッカーを使用すると、アプリであらゆる種類の特定のファイルを共有できますが、アプリは製品上のすべてのメディアファイルを表示するための権限を必要としません。一方、フォトピッカーは写真やビデオを選択するための専用のエクスペリエンスでこの機能を拡張します。

これにより、アプリはphoto picker APIを使用して製品上のすべてのメディアファイルを表示する権限を必要とせずに共有されている写真やビデオにアクセスできるようになります。

なお、Android 11以降を実行している製品(Android Goを除く)のMediaProviderモジュールの更新の一環としてGoogle Playシステムの更新を通じてより多くのAndroid搭載製品にフォトピッカーを提供する予定となっています。詳細は https://developer.android.com/about/versions/13/features/photopicker よりご確認ください。

03
フォトピッカー


・Wi-Fiの近くのデバイスのアクセス許可
Android 13ではWi-Fiを介した近くのアクセスポイントへの接続を管理するためのランタイムアクセス許可「NEARBY_WIFI_DEVICES」(アクセス許可グループ「NEARBY_DEVICES」の一部)が導入されています。新しい権限では一般的に使用される多くのWi-Fi APIを呼び出すアプリに必要であり、アプリが位置情報の権限を必要とせずにWi-Fi経由で近くの製品を検出して接続できるようにします。

また以前は場所の許可要件にて近くのWi-Fiに接続する必要がありましたが、実際には製品の場所を必要としないアプリにとっては課題でした。Android 13にて利用するアプリは代わりに「neverForLocation」フラグを使ってNEARBY_WIFI_DEVICES権限をリクエストできるようになります。これにより、開発者の摩擦を減らしながらプライバシーに配慮したアプリの設計を促進できます。詳細は https://developer.android.com/about/versions/13/features/nearby-wifi-devices-permission よりご確認ください。

○開発者の生産性とツール
Android 13では開発者の生産性を高めるための新機能とツールも提供されます。何十億もの製品で実行される美しいアプリの作成を支援することはAndroid 13でもKotlinで愛用している言語やJetpackを使用した独創的なAPIなど、最新のAndroid開発用のツールでもAndroidにおける開発を進める上での主要な使命の1つです。より生産的に作業できるよう支援することによって開発コストを削減し、素晴らしい体験の構築を継続できるようにすることをめざしています。Android 13 DP1における新機能の一部を以下に示します。

・クイック設定配置API
通知シェードのクイック設定はアプリのコンテキストを離れることなく設定を変更したり、クイックアクションを実行したりするための便利な方法です。カスタムタイルを提供するアプリの場合にタイルを簡単に見つけてクイック設定に追加できるようにしています。

また新しい「tile placement API」を使用してアプリはカスタムタイルをアクティブなクイック設定タイルのセットに直接追加するように求めることができるようになっています。新しいシステムダイアログを使用するとアプリを離れることなく、クイック設定に移動してタイルを追加するのではなく、1つのステップでタイルを追加できます。

04

・テーマ別アプリアイコン
Android 13ではAndroid 12で導入されたデザイン「Material You」のダイナミックカラーをGoogleアプリを超えてすべてのアプリアイコンに拡張し、壁紙の色合いやその他のテーマ設定を継承するアイコンを選択できるようにします。アプリが提供する必要があるのは単色のアプリアイコン(例えば、notification drawable)とadaptive icon XMLの微調整だけです。

オプトインした場合に一貫したエクスペリエンスを提供するためにすべての開発者に互換性のあるアイコンを提供することをオススメし、テーマのアプリアイコンは最初はPixelシリーズでサポートされており、各メーカーのパートナーと協力してより多くのデバイスに提供しています。詳細は https://developer.android.com/about/versions/13/features#themed-app-icons をご確認ください。

05

・アプリごとの言語設定
一部のアプリでは多言語を利用するニーズを満たすためにシステム言語とは異なる言語を選択できるようにします。このようなアプリは新しい「platform API」を呼び出して優先言語を設定または取得できるようになります。これにより、定型コードを減らしてアプリのランタイム言語を設定する際の互換性を向上させることができ、より広い互換性のために今後のJetpackライブラリに同様のAPIを追加する予定です。詳細は https://developer.android.com/about/versions/13/features/app-languages をご確認ください。

・ハイフネーションの高速化
ハイフネーション(欧文編集時に行の末尾に収まりきらない単語がある場合、単語の前半の末尾にハイフンを記して改行して後半を次行の冒頭に送る機能)を使用すると、重複されたテキストが読みやすくなってユーザーインターフェース(UI)の適応性が高まります。Android 13ではこのハイフネーションのパフォーマンスを最大200%最適化したため、レンダリングのパフォーマンスにほとんど影響を与えることなく、TextViewでハイフンを有効にできます。より高速なハイフネーションを有効にするには「setHyphenationFrequency()」で新しいfullFastまたはnormalFast頻度を使用します。

・プログラム可能なシェーダー
Android 13でAndroid Graphics Shading Language(AGSL)を使用して定義された動作でプログラム可能なRuntimeShaderオブジェクトのサポートを追加します。AGSLはその構文の多くをGLSLと共有しますが、Androidレンダリングエンジン内で機能してAndroidのキャンバス内のペイントとViewコンテンツのフィルタリングをカスタマイズします。 Androidはこれらのシェーダーを内部的に使用して波及効果、ぼかし、ストレッチオーバースクロールを実装します。これにより、Android 13ではアプリに同様の高度な効果を作成できるようになります。

07
AGSL animated shaderを適用した場合

・OpenJDK 11の更新
Android 13ではOpenJDK 11 LTSリリースに合わせてAndroidのコアライブラリを更新する作業を開始しました。ライブラリ更新と、アプリおよびプラットフォームの開発者向けのJava11プログラミング言語のサポートの両方を備えています。またAndroid 12以降を実行している製品のARTモジュールの更新の一環としてGoogle Playシステムの更新を通じてこれらのコアライブラリの変更をより多くのデバイスに提供する予定です。詳細は https://developer.android.com/about/versions/13/features#core-libraries をご確認ください。

06
アプリの互換性は開発者向けオプションで切り替えられます

GoogleではAndroidの各リリースごとに新しいバージョンを公開する際にアプリの互換性を優先することによって更新をより迅速かつスムーズにするよう取り組んでおり、Android 13ではアプリの互換性を保つのにより多くの時間を提供するためにほとんどのアプリ向けの変更をオプトインしているということです。またツールとプロセスを更新してより早く準備できるようにしました。

さらにAndroid 13ではGoogle Playシステムの更新(プロジェクトメインライン)への投資を拡大し続け、アプリに製品間でより一貫性のある安全な環境を提供して新機能を提供します。そのため、フォトピッカーやOpenJDK11などの新機能を既存のモジュールを更新することで、古いバージョンのAndroidでも直接プッシュできるようになりました。加えてBluetoothやUWBなどの新しいモジュールを追加し、Androidの更新可能なコア機能の範囲をさらに拡大しています。

なお、Developer PreviewにはAndroid 13の機能を試したり、アプリをテストしたり、フィードバックを提供したりするために必要なものがすべて揃っています。Googleでは新機能とAPIを試した場合にはフィードバックを行うようにお願いしており、フィードバックはトラッカーで問題を報告するか、フィードバックとリクエストのページから選択した機能についてアンケートで直接フィードバックしてください。

また現在のアプリのAndroid 13での互換性をテストし、アプリがAndroid 13のデフォルトの動作変更の影響を受けるかどうかを確認して欲しいとのこと。なお、Android 13には新しいプラットフォームをターゲットにしている場合にのみアプリに影響するオプトインの動作の変更があるため、これらの変化を早期に理解して評価することは非常に重要となっており、テストを簡単にするために変更のオンとオフを個別に切り替えることができるようになっています。



記事執筆:memn0ck


■関連リンク
エスマックス(S-MAX)
エスマックス(S-MAX) smaxjp on Twitter
S-MAX - Facebookページ
Android 13 関連記事一覧 - S-MAX
Android Developers Blog: The first developer preview of Android 13
Android 133 Developer Preview  |  Android Developers