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

Googleは17日(現地時間)、スマートフォン(スマホ)やタブレットなど向けプラットフォーム「Android」の次期バージョン「Android 11」における開発者向けプレビュー版の第2弾「Android 12 Developer Preview 2」(以下、DP2)を公開したとお知らせしています。

提供されているのは今年2月に公開された「Android 12 Developer Preview 1」(以下、DP1)と同様にAndroidエミュレーターのほか、Pixel 3、Pixel 3 XL、Pixel 3a、Pixel 3a XL、Pixel 4、Pixel 4 XL、Pixel 4a、Pixel 4a (5G)、Pixel 5でテストするためのファクトリーイメージやSDKが含まれています。

ファクトリーイメージ( https://developer.android.com/preview/download )から手動で導入するようになっているほか、すでにDP1またはその後に提供開始されていた不具合修正版の「Android 12 Developer Preview 1.1」を導入している場合はネットワーク経由のソフトウェア更新(OTA)も提供されます。

DP2ではPixelシリーズにおけるビルド番号が「SPP2.210219.008」で、すでにAndroidセキュリティーパッチレベルは「March 2021」、Google Play servicesは「21.06.13」となってろい、エミュレーターでは64bitのx86およびARM v8-Aがサポートされ、APIレベルは「S(DP2)」となっています。

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

02

Android 12は現在の最新バージョンの「Android 11」の次のメジャーアップデートとなる予定のバージョンで、最近の流れであるセキュリティーやプライバシーをより強化しており、ITのシンプルさと実用性、プライバシーと生産性を向上させる多くの機能が導入されているということです。

正式版のリリースまでのスケジュールは前回のDP1と今回のDP2に続いて4月に「Developer Preview 3」、5月に初のベータ版となる「Beta 1」が提供され、6〜7月に「Beta 2」および「Beta 3」、8月にPlatform Stability版となる「Beta 4」が提供され、その後、数週間でRC(Release candidate)版を経て正式版がリリースされる予定となっています。

04

DP1やDP2ではAndroid 12で導入される新機能の一部のみとなっており、正式版のリリースが近づくにつれてさらに多くの機能が追加される予定だとのことで。現時点で紹介されているAndroid 12の主な新機能は以下の通りで、詳細はAndroid Developer Blogの記事やAndroid Developer Previewの公式Webページをご確認ください。

○信頼と安全性
Android 12では端末とデータを安全に保ちながら透明性と制御性を高めることに引き続き注力しています。DP2ではアプリをチェックアウトしてテストするためのいくつかの新機能が追加されました。

・アプリのオーバーレイコントロール
Androidのシステムアラートウィンドウはアクティブなアプリの上にオーバーレイを表示することで重要なアクションについて利用者の注意を引く方法をアプリに提供しています。ただし、これらのウィンドウは利用しているアプリに割り込む可能性があるため、アプリを表示する前に許可を要求する必要があります。

Android 12ではこれらのオーバーレイをコンテンツに表示できるかどうかを制御できるようになり、新しい権限を宣言した後、アプリはWindow#setHideOverlayWindows()を呼び出してアプリのウィンドウが表示されているときにすべての「TYPE_APPLICATION_OVERLAY」ウィンドウを非表示にする必要があることを示すことが可能です。またトランザクション確認フローなどの機密性の高い画面を表示する場合はこれを選択できます。詳細は https://developer.android.com/about/versions/12/features#hide-application-overlay-windows より。

・ロック画面通知アクションのセキュリティーの拡張
Android 12は端末のロック画面に表示される通知によりきめ細かいプライバシーとセキュリティー制御を追加し、ロック画面からトリガーされたときに常に認証チャレンジを生成するように通知アクションを構成できるようになりました。これにより、通知APIを通じてすでに利用可能な通知の可視性コントロールが拡張されます。例えば、メッセージングアプリはメッセージを削除したり、既読としてマークしたりする前に認証を要求できます。詳細は https://developer.android.com/about/versions/12/features#notification-secure より。

・アプリダイジェストへのアクセス
Android搭載機にインストールされているアプリパッケージの整合性を検証する必要があるアプリ向けにインストールされているアプリのチェックサムをプラットフォームに直接照会できる新しいAPIを導入します。SHA256およびSHA512、MerkleRootなどのいくつかのダイジェストアルゴリズムから選択でき、チェックサムをリクエストするにはアプリのパッケージ名および必要なチェックサムタイプ、信頼できるインストーラー証明書、チェックサムを受信するリスナーを指定してPackageManager.requestChecksums()を呼び出します。

プラットフォームはインストーラーアプリ(アプリ配信マーケット「Google Playストア」など)によって事前に計算されて提供されるか、プラットフォームによって計算された一致するチェックサムを返します。結果はパッケージの可視性ガイドラインに基づいてフィルタリングされるため、マニフェストで対象のパッケージを宣言する必要があります。

この新しいAPIはチェックサムを取得するためのよりシンプルで効率的な方法を提供し、速度とセキュリティーのために最適化された標準のパブリックAPIの安定性を提供します。下位互換性のために、API15と同じ機能を提供するJetpackライブラリに取り組んでいます。詳細は近日公開予定です。

これらおよびその他のプライバシーとセキュリティーの変更について詳しくは https://developer.android.com/about/versions/12/behavior-changes-12 をご覧ください。

○より優れたユーザーエクスペリエンスツール
洗練されたユーザーエクスペリエンス(UX)と優れたパフォーマンスを提供するために役立つツールをさらに提供できるよう取り組んでいます。DP2のリリースでの更新の一部は以下の通りです。

・丸みを帯びた角のサポート
多くの最新製品は丸みを帯びた画面を使用しており、すっきりとしたモダンな外観を提供しますが、アプリ開発者にはいくつかの追加の考慮事項が導入しています。これらの製品で優れたUXを提供するには開発者は角の丸みを考慮して近くのユーザーインターフェース(UI)要素を調整し、それらが切り捨てられないようにする必要があります。

03

Android 12ではこれを支援するために丸みを帯びた角を要求すると詳細を取得できる新しいAPIを導入しています。RoundedCornerは半径や中心点、その他のデータなど、角の詳細を保持し、 Display.getRoundedCorner()を呼び出して丸みを帯びた角の絶対的な詳細を取得できます。

またWindowInsets.getRoundedCorner()を呼び出せば、アプリの境界に関連するコーナーの詳細を取得することもできます。これらを使用すると、必要に応じてUI要素とコンテンツの位置を管理できます。詳細は https://developer.android.com/about/versions/12/features#rounded_corner_apis より。

・ピクチャーインピクチャー(PiP)の改善
ジェスチャーナビゲーションを使用している人向けにホーム画面までスワイプしたときにアプリがPiPモードに移行する方法を改善しました。アプリが自動PiPを有効にしている場合、システムはホームまでのアニメーションが完了するのを待つのではなく、ホームまでアプリを直接PiPモードに移行するようになりました。

これにより、画面移行がスムーズになってパフォーマンスが向上します。またビデオ以外のコンテンツのPiPウィンドウのサイズ変更も改善され、アプリでシームレスなサイズ変更を有効にして必要に応じてシステムがPiPアクティビティのサイズを変更できるようになっています。

またAndroid 12はPiPウィンドウを画面の左端または右端にドラッグして隠しておくこともサポートし、PiPウィンドウを操作しやすくするためにタップ動作を更新しました。シングルタップでコントロールが表示されるようになり、ダブルタップでPiPウィンドウのサイズが切り替わります。詳細は https://developer.android.com/about/versions/12/features/pip-improvements より。

・コンパニオンデバイスアプリを起動状態に保つ
スマートウォッチやフィットネストラッカーなどのウェアラブルデバイスを管理するアプリの場合に関連するウェアラブルデバイスが近くにあるときはいつでも、アプリが実行され、接続されていることを確認するのは難しい場合があります。これを簡単にするために、新しいCompanionDeviceService APIを使用してCompanionDeviceManagerを拡張しています。

ウェアラブルデバイスを管理するアプリはこのサービスを実装して、関連付けられたウェアラブルデバイスが近くにあるときはいつでもシステムがアプリをウェイクアップできるようにすることができます。システムはウェアラブルデバイスが近くにあるときは常にサービスを接続したままにし、ウェアラブルデバイスが範囲内外に出たとき、または電源がオフになったときにサービスに通知してアプリが必要に応じて状態をクリーンアップできるようにします。

アプリは時計に接続するときに新しいウェアラブルデバイスプロファイルを使用することもできます。これにより、関連する権限が1つの付与にバンドルされるため、登録が簡単になります。詳細は https://developer.android.com/about/versions/12/features#keep-awake より。

・帯域幅見積もりの改善
利用できる一般的な帯域幅を知ってエクスペリエンスを調整する必要がある開発者向けに改善された帯域幅見積もりを提供するようになりました。既存の帯域幅推定APIを拡張して製品上のすべての利用について通信事業者ごとの総スループットまたはWi-Fi SSID、ネットワークタイプ、信号レベルの推定値を取得できるようにしました。新しい見積もりは他のほとんどの見積もり方法よりも簡単で正確である可能性が高いので、試してどのように機能するかをフィードバックをしてください。

02
Android 12では背景がぼやけるダイアログウィンドウが導入予定

・ぼかし、カラーフィルター、その他の効果が簡単
Android 12では一般的なグラフィック効果をビューやレンダリング階層に簡単に適用できるようになりました。 RenderEffectを使用してぼかしやカラーフィルターなどを任意のRenderNodeに適用できます。これらのエフェクトをチェーンエフェクト(内側と外側のエフェクトを順番に構成する)として組み合わせたり、ブレンドしたりできます。 View.setRenderEffect(RenderEffect)を呼び出すことによって(基になるRenderNodeを利用して)ビューに直接エフェクトを適用することもできます。

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

これにより、ビットマップデータを取得したり、画像を処理したり、新しいビットマップを作成したり、ImageViewに戻したりすることなく、ImageViewのコンテンツをぼかすことができます。 RenderEffectは、既存のレンダリングパイプラインを活用して、過剰な計算を最小限に抑えます。これらを試してみて使い勝手を知らせてください!詳細は https://developer.android.com/about/versions/12/features#rendereffect より。

また新しいWindow.setBackgroundBlurRadius() APIを使ってウィンドウの背景にすりガラス効果を作成することもできます。これにより、半径を設定して密度と範囲を制御でき、プラットフォームはアプリのウィンドウの範囲内でのみ背景コンテンツにぼかしを適用します。また、blurBehindRadiusを使用してウィンドウの背後にあるすべてのコンテンツをぼかし、フローティングウィンドウの奥行き効果を作成することもできます。



記事執筆:memn0ck


■関連リンク
エスマックス(S-MAX)
エスマックス(S-MAX) smaxjp on Twitter
S-MAX - Facebookページ
Android 12 関連記事一覧 - S-MAX
Android Developers Blog: Android 12 Developer Preview 2
Android 12 Developer Preview  |  Android Developers