Googleがスマホなど向け次期OS「Android Q」の開発者向けプレビュー版をリリース! |
Googleは13日(現地時間)、スマートフォン(スマホ)やタブレットなど向けプラットフォーム「Android」の次期バージョン「Android Q」におけるプレビュー版「Android Q Beta」( http://developer.android.com/preview/ )の初リリース「Beta 1」を公開したと発表しています。
今回提供されたAndroid Q Betaは、Androidエミュレーターのほか、Pixel、Pixel XL、Pixel 2、Pixel 2 XL、Pixel 3、Pixel 3 XLでテストするためのシステムイメージやSDKが含まれています。対象機種にて「Android Beta Program」( https://g.co/androidbeta )に登録し、ネットワーク経由によるソフトウェア更新(OTA)にて導入できます。
またすでにファクトリーイメージ( https://developer.android.com/preview/download.html )も公開されていることから手動で導入することも可能。Pixelシリーズにおけるビルド番号は「QPP1.190205.018.B4」。APIやSDKなども公開されており、今後、現バージョン「Android 9(開発コード名:Pie)」のときと同様に他メーカーの一部製品にも順次Android Beta Programが提供されます。
またエミュレーターで利用するためには「Android Studio」のバージョン「3.3」( https://developer.android.com/studio/archive.html )以上が必要で、別途、Q Developer Preview SDKとツールを導入する必要があり、最新のAndroid QをサポートするにはAndroid Studio 3.5以降が推奨されています。なお、Android Q Betaが提供されている機種についても必ずしも正式版が提供されるとは限らないとのこと。
また新機能についてもある程度公開されており、位置情報取得において実行中のみなどのより詳細な設定が可能になったり、無線LAN(Wi-Fi)でWP3やOWEのサポートなどといったプライバシーやセキュリティーの強化やフォルダブルスマホなどの折りたたみ型製品への対応などが追加されるとしているほか、5月に開催される「Google I/O 2019」でさらに詳細な説明を行うとしています。
Android Qは現在の最新バージョンのAndroid 9 Pieの次のメジャーアップデートとなる予定のバージョンです。Androidではメジャーバージョンアップごとにアルファベット順に開発コード名としてお菓子の名前が付けられており、Android 9では「Pie」となっていますが、それを受けて正式発表前にはここ最近ではその頭文字を取って「Android P」としていました。
そのため、次のバージョンは「P」の次の「Q」となるため、Android Qとなっており、正式版では恐らくバージョン番号が「9」の次の「10」になると思われるので「Android 10(開発コード名:Q****)」などとなると見られます。バージョン番号や開発コード名については現時点では不明。
開発者プレビュー版は順次新しい内容が提供されていくということで、今回の公開されたAndroid Q Developer PreviewのBeta 1(初リリース)に続いて、アップデートスケジュールとして3月下旬以降に「Beta 2(増分更新)」、4月中旬以降に「Beta 3(増分更新)」、5月上旬のGoogle I/O 2019に合わせて「Beta 4(最終APIと公式SDK・Playサービス)」が提供されます。
さらに6月下旬以降に「Beta 5(テスト用リリース候補版)」および「Beta 6(最終テスト用リリース候補版)」を経て2019年第3四半期(7〜9月)に正式版がリリースされるということで、恐らく過去の例からすると8〜9月あたり提供開始されるものと見られます。Android Pで導入される新機能は以下の通り。
・位置情報の許可を詳細に管理可能
Android Qではアプリがいつ場所を取得できるかを利用者がより詳細に制御できるようになります。OSの以前のバージョンのようにアプリが許可を求めてきて許可した後、アプリは常に場所を取得できるようなことがなくなります。
特にアプリが使われてないときにバックグラウンドで位置情報にアクセスできてしまっていますが、Android QならiOSと同じように許可する場合でもアプリの使用中(実行中)または常時(バックグラウンドでの使用中)から位置情報取得の権限を選ぶことが可能となります。
・プライバシー保護の拡充
Android Qではセキュリティーとプライバシー保護をより強化するように設計されており、ファイルベースの暗号化、機密リソースにアクセスする前に許可を要求するようアプリに要求するOSコントロール、カメラ・マイクのバックグラウンドアクセスのロック、ロックダウンモード、暗号化バックアップなど、ユーザーを保護する幅広い機能が追加されます。
また、1日に500億を超えるアプリをスキャンして潜在的に有害なアプリを特定してそれらを削除しているセキュリティー機能「Google Play Protect」などによってさらに利用者を保護するための機能が強化されます。なお、その多くはプロジェクト「Project Strobe」の成果となります。
また透明性の確保やユーザーの管理、個人データの保護のためにさらなる更新を行っており、Android QではOSによってアプリをさらに細かく制御でき、共有ファイルへのアクセスを制御できるほか、新しいランタイム権限によってアプリが写真と動画、音楽などへのアクセスを制御できます。
これにより、ファイルをダウンロードする場合にアプリはシステムファイルピッカーを使用する必要があり、アプリがアクセスできるダウンロードファイルを決定でき、開発者にとってはアプリがストレージの共有領域を使用する方法に変更があるとのこと。
またアプリが予期せず最前面に表示されてアクティブになって利用者を困らせることがありますが、これらの中断を減らすためにAndroid Qはバックグラウンドでアプリがアクティビティーを起動するのを防ぎ、アプリがバックグラウンドにあって着信やアラームなどのために利用者の注意を引く必要がある場合は、優先順位の高い通知を使用して全画面表示を実現できます。
さらにIMEIなどの変更できないデバイス識別子へのアクセスを制限し、利用状況に適した識別子を選択するのに役立つ方法を推薦し、例えば、Android 9 Pieではオプションだった異なるWi-Fiのネットワークに接続したときのMACアドレスをランダム化する機能をデフォルト化するなどしています。
・フォルダブルと革新的な新しいスクリーンに対応
折りたたみ型の製品がいくつかの革新的な使い方と体験を切り開いており、アプリがこれらや他の大画面製品を利用しやすいようにフォーカスが合ったときにアプリへ通知するための「onResume」と「onPause」といった変更を含むマルチスクリーンをサポートしています。
また「resizeableActivity」におけるマニフェスト属性が変更され、アプリを折りたたみ型などの大画面製品に表示する方法を管理できるようになり、これらの新しいタイプの製品の開発を始めるためにマルチディスプレイの切り替えをサポートするためのアップデートを行っているということです。
・ショートカットの共有機能
写真などのコンテンツを他の人と共有したい場合に操作方法が簡略化され、Android Qでは「Sharing Shortcuts」によってより速くかつ簡単にできるようになり、コンテンツを共有するために別のアプリに直接ジャンプできるようになります。
開発者はコンテンツを添付してアプリで特定のアクティビティを起動する共有ターゲットを公開でき、これらは共通のユーザーインターフェース(UI)で表示され、メカニズムは「App Shortcuts」の仕組みと似ており、ShortcutInfo APIを拡張して両方の機能の統合を容易にしているとのこと。
この新しいAPIは新しいShareTarget Android Xライブラリでもサポートされており、アプリは新しい機能を使用できるほか、Android Q以前ではDirect Shareを使用して動作できるようになっているということです。
・設定パネルの拡張
設定パネルは、インターネット接続や音量などの頻繁に変更する可能性のある設定を表示するためにアプリから呼び出すフローティングUIで、Android 9 Pieで導入されたスライス機能を利用する新しい設定パネルAPIを通じて重要なシステム設定をアプリのコンテキストで直接表示することもできるようになります。
例えば、Webブラウザーでアプリを終了したり、バックグラウンドにしたりする必要はなく機内モードやWi-Fi、モバイルデータなどの接続設定を持つパネルを表示でき、利用者は必要に応じてパネルから設定を変更できるとのこと。設定パネルを表示するには、新しいSettings.Panelアクションの1つを使用してインテントを起動するだけ。
・接続性の向上
Android QではアプリがAndroidのコネクティビティスタックでできることを拡張し、新しいコネクティビティAPIを追加し、ネットワークをスキャンするためなどのAPIのほとんどはすでにCOARSE位置許可を必要としますが、Android QではモバイルネットワークやWi-Fi、BluetoothのためにFINE位置許可を要求することによってセキュリティーやプライバシーの保護を高めています。
アプリがP2P接続をしたり、ネットワークを提案するだけで良いなら接続を単純化してロケーション許可を必要としないので、改良されたWi-Fi APIをチェックして試してください。またWi-Fi接続時のランダム化されたMACアドレスに加えて、新しい暗号化規格「WP3」や「OWE」のサポートを追加し、自宅および職場のネットワークやオープン・パブリックネットワークのセキュリティを高めています。
・Wi-Fiパフォーマンスモードの追加
Wi-Fiにおいて高性能および低遅延モードを有効にすることで、アダプティブWi-Fiを要求できるようになり、リアルタイムゲームやアクティブな音声通話などの利用において低遅延がUX(ユーザーエクスペリエンス)にとって重要である場合に非常に有効だとのこと。
開発者が新しいパフォーマンスモードを使用するには「WIFI_MODE_FULL_LOW_LATENCY」または「WIFI_MODE_FULL_HIGH_PERF」を指定してWifiManager.WifiLock.createWifiLock()を呼び出します。これらのモードでは製品のファームウェアと連携して最小の消費電力で要件を満たすことが可能となっています。
・写真の動的深度フォーマットが追加
多くのカメラで被写体に対して前景や背景をぼかすことで狭い被写界深度をシミュレートできるようになり、画像内のさまざまなポイントの深度メタデータを測定して画像に静的なぼかしを適用した後に深度メタデータを破棄します。
Android Q以降に対応したアプリは深度に関連するXMPメタデータをサポートする製品と同じようにファイルに埋め込まれた深度と信頼度のマップで構成される動的深度画像を要求でき、動的深度画像に対応したJPEGを要求すると、アプリ内で特殊なぼかしとボケオプションを提供することができます。
将来的にはこのデータを使って3D画像を作成したり、AR写真の利用をサポートしたりすることもでき、AndroidではDynamic Depthをエコシステムのオープンフォーマットにしているため、Android Q以降の製品間でそれぞれ利用できるようにするために各メーカーと協力するとしています。
・新しいオーディオおよびビデオコーデックの追加
Android Qではオープンソースのビデオコーデック「AV1」や音声と音楽のストリーミング用に最適化されたコーデックである「Opus」をサポートしており、AV1によってより少ない帯域幅を使用して高品質のビデオコンテンツをストリーミングできます。またOpusをサポートする製品におけるハイダイナミックレンジビデオ用のHDR10+を使用したオーディオエンコーディングをサポートしているとのこと。
さらにMediaCodecInfo APIはビデオレンダリング機能を判断するためのより簡単な方法を導入しており、任意のコーデックに対してVideoCodecCapabilities.getSupportedPerformancePoints()を使えば、サポートされているサイズとフレームレートのリストを取得できます。これにより、特定の製品でレンダリングするための最高品質のビデオコンテンツを選択できます。
・ネイティブMIDI APIの追加
C++でオーディオ処理を実行するアプリのためにNDKでMIDI機器と通信するためのネイティブMIDI APIが追加されています。このAPIを使用すると、ノンブロッキングリードを使用してオーディオコールバック内でMIDIデータを取得できるため、MIDIメッセージを低遅延で処理できます。
・ANGLE on Vulkanのサポート
ゲームとグラフィックの開発者にとってより一貫性のあるものにするためにVulkan上に構築されたすべての製品向けの標準の更新可能なOpenGLドライバに取り組んでおり、Android QではVulkanに加えてANGLEの実験的サポートを追加しています。
ANGLEは実装間での高性能OpenGL互換性のために設計されたグラフィック抽象化レイヤで、ANGLEによってOpenGL ESを使用する多くのアプリやゲームはVulkanのパフォーマンスと安定性を利用し、製品に依存しないAndroid上で一貫したOpen GL ESの実装と性能を受けることができます。
なお、Android QではOpenGL ESのロードマップにおける次のOpen GL ES 3.0をサポートする予定。またより多くのOpenGLにおける機能拡張とバグ修正、パフォーマンス最適化を実施しているということです。
・Neural Network API 1.2
2017年にNeural Networks API(NNAPI)を導入して以来、サポートされるオペレーションの数を増やし、既存の機能を向上させてきましたが、Android Qでは新たにNNAPI 1.2となります。これにより、ARGMAXやARGMIN、量子化LSTMなどの60種類の新しいオプションが追加されており、さまざまなパフォーマンスの最適化が行われています。
これはオブジェクト検出や画像セグメンテーションなど、非常に広範囲のモデルを高速化するための基盤となり、メーカーやTensorFlowなどの一般的な機械学習フレームワークと協力してNNAPI 1.2のサポートを最適化して展開していくということです。
・ARTパフォーマンスの最適化
Android QではARTランタイムにいくつかの新しい改良が加えられ、開発者の作業を必要とせずにアプリの起動が速くなり、メモリの消費量が少なくなります。Android 7.x(開発コード名:Nougat)からARTはProfile Guided Optimization(PGO)を提供してきました。
これはコードの頻繁に実行される部分を識別してプリコンパイルすることによって時間の経過とともにアプリの起動を高速化するもので、最初にアプリをリリースするのを支援ためにGoogle Playでは現在、APKと一緒にクラウドベースのプロファイルを提供しています。
これらは匿名化された集約されたARTプロファイルで、実行前でもアプリの一部をARTで事前コンパイルできるため、プロセス全体の最適化が大幅に向上し、クラウドベースのプロファイルはすべてのアプリに利益をもたらし、それらはすでにAndroid 9 Pie以降を実行している製品で利用可能となっています。
・生体認証機能の拡充
システムが生体認証をサポートするための統合認証フレームワーク「BiometricPrompt」においてAndroid Qでは顔認証などの受動認証方式のサポートを拡張し、暗黙的もしくは明示的な認証方法を追加しています。
明示的な方法では認証中に確認する必要があり、暗黙的な方法では認証する途中を簡略化するように設計されており、必要に応じて端末の認証時におけるフォールバックも改善しているとのこと。
・TLS 1.3のサポート
暗号化方式「TLS 1.3」のサポートが追加され、パフォーマンス的なの利点とセキュリティーの強化を含むTLS標準の大幅な改訂で、同社が行ったベンチマークでは安全な接続がTLS 1.2と比較してTLS 1.3のほうが40%速く確立されることができるとしています。TLS 1.3はすべてのTLS接続に対してデフォルトで有効になっているとのこと。
実際にPixel 3へAndroid Q Developer Preview Beta 1を導入してみたところ。まずはAndroid Beta ProgramのWebページで「登録」
規約に同意して登録したらPixel 3の「設定」→「システム」→「システムアップデート」にてOTAを実施
Android Q Betaが導入完了。特に大きな見た目の変更点などはない
位置情報では実行中のみ取得する設定が可能に
なお、GoogleではAndroidにおけるセキュリティーとパフォーマンスを最大限にアプリで活用できるようにするための取り組みを拡大し、今年後半には「Google Play」にてSDKのターゲットバージョンを28に設定する必要があるとしています。
これにより、Android QではAPIレベル23より前のプラットフォームであるAndroid 6.x(開発コード名:Marshmallow)以前を対象としたアプリを最初に実行したときにダイアログで警告するようにするとのこと。同様に64bit化も進めており、今年後半にすべてのアプリで64bitのサポートが必要となります。
■関連リンク
・エスマックス(S-MAX)
・エスマックス(S-MAX) smaxjp on Twitter
・S-MAX – Facebookページ
・Android Q 関連記事一覧 – S-MAX
・Android Developers Blog: Introducing Android Q Beta
・Android Q Beta
(引用元:livedoor news)