Android O Developer Preview がついに登場!
2017年3月31日金曜日
この記事は Dave Burke、エンジニアリング部門副社長による Android Developers Blog の記事 "O-MG, the Developer Preview of Android O is here! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2008 年に始まってから、Android プロジェクトはアプリのデベロッパー、端末メーカー、そしてユーザーの皆さんという活発なエコシステムからすばらしいフィードバックをいただいています。最近は、早い段階でパートナーに対して広く成果を共有できるように、エンジニアリング プロセスの改善に積極的に取り組んでいます。
先日、次期 OS である Android O の最初の Developer Preview が公開されたことをお知らせします。いつものことですが、これはまだ初期段階なので、今後も多くの機能や安定化、パフォーマンス改善が行われる予定です。しかし、Android O は本日からご利用になれます :)
今後数か月間にわたり、アップデート版の Developer Preview がリリースされる予定です。さらに、5 月の Google I/O では、Android に関わるあらゆることを詳しく取り上げる予定です。それまでの間に新しい OS でアプリをテストし、試用した新機能のフィードバックをお寄せください。
Android O には、アプリで利用できるたくさんの新機能や API が導入されています。ここでは、最初の Developer Preview で試すことができるいくつかの機能を紹介します。
バックグラウンドの制限事項: これは Nougat から開発が始まった機能です。Android O では、ユーザーの電池消費量削減と端末のインタラクティブ性能の改善に主眼が置かれています。これを実現するために、アプリがバックグラウンドで行えることが自動的に制限されます。この制限は主に、暗黙的ブロードキャスト、バックグラウンド サービス、位置情報のアップデートの 3 つに適用されます。これによって、ユーザーの端末や電池に最低限の影響しか与えないアプリを作りやすくなります。バックグラウンドの制限事項は、Android における大きな変更点になります。そのため、すべてのデベロッパーがこの点について熟知しておく必要があります。詳細については、バックグラウンド実行の制限とバックグラウンド位置情報の制限のドキュメントをご覧ください。
通知チャンネル: Android O には、通知チャンネルも導入されています。これは、アプリで通知コンテンツのカテゴリを定義できるようにする新機能です。デベロッパーがチャンネルを使うと、さまざまな種類の通知をユーザーが細かく制御できるようになります。たとえば、ユーザーはアプリごとではなく、チャンネルごとに通知をブロックしたり、通知の動作を変更したりできます。
通知チャンネルによってカテゴリごとにアプリの通知を管理
Android O には、新たな通知の視覚効果やグループ化も追加されているため、メッセージの着信時や通知シェードの確認時に何が起きているかがわかりやすくなっています。
Autofill API: Android ユーザーは、さまざまなパスワード マネージャを使ってログイン情報などの繰り返し入力する必要がある情報を自動入力しています。この機能によって、簡単に新しいアプリの設定や取引ができます。今回、自動入力がプラットフォームでサポートされ、エコシステム全体でこのような作業がさらに簡単になります。ユーザーは、キーボード アプリを選ぶのと同じようにして、自動入力アプリを選択できます。自動入力アプリは、住所、ユーザー名、パスワードなどのユーザーデータを安全に保管します。また、自動入力に対応させたいアプリで Autofill サービスを実装するための新しい API が追加されています。
ハンドセット用 PIP と新しいウィンドウ機能: スマートフォンとタブレットでピクチャ イン ピクチャ(PIP)表示が可能になるため、ユーザーは動画を見ながらチャットに応答したり、車を手配したりすることができます。PiP モードがサポートされているシステムのアプリは、再開または一時停止の状態から PiP モードを開始できます。PiP モードでは、アスペクト比や一連のカスタム操作(再生 / 一時停止など)が可能です。他に、アプリでシステムのアラート ウィンドウの代わりに使える新しいアプリ オーバーレイ ウィンドウや、リモート ディスプレイでアクティビティを起動できるマルチディスプレイ サポートなどのウィンドウ機能も追加されています。
XML フォント リソース: フォントは、リソースタイプとして Android O で完全にサポートされるようになります。XML レイアウトでフォントを使えるようになるほか、フォント ファイルとスタイルやウェイトを宣言することによって XML でフォント ファミリーを定義することもできるようになります。
アダプティブ アイコン: 端末の UI との一貫性を向上するため、アダプティブ アイコンを作成できるようになります。これは、端末が選ぶマスクを使って、システムごとに異なる形のアイコンを表示する機能です。さらに、アイコンとのインタラクションがアニメーションで表示されます。アダプティブ アイコンは、ランチャー、ショートカット、設定、共有ダイアログ、オーバービュー画面で利用できます。
端末モデルごとに異なる図形を表示するアダプティブ アイコン
広色域アプリ: Android のイメージング アプリのデベロッパーは、広色域ディスプレイを搭載した新しい端末の機能を活用できるようになります。広色域イメージを表示するアプリは、マニフェストに(アクティビティごとに)フラグを設定し、埋め込み広色域プロファイル(AdobeRGB、Pro Photo RGB、DCI-P3 など)を使ってビットマップを読み込む必要があります。
ネットワーク接続: オーディオの再現性を極限まで高めるため、Android O では LDAC コーデックなどの高品質 Bluetooth オーディオ コーデックがサポートされています。さらに、Wi-Fi Aware などの新しい Wi-Fi 機能も追加されています。これは、かつて Neighbor Awareness Networking(NAN)と呼ばれていた機能です。この機能によって、インターネット アクセス ポイントがなくても、適切なハードウェアを搭載した端末のアプリであれば、Wi-Fi 経由で近くの端末を検出して通信できるようになります。Google は Wi-Fi Aware テクノロジーを可能な限り多くの端末に導入するために、ハードウェア パートナーと連携して作業を進めています。
ConnectionService API は拡張されて Telecom フレームワークになっており、サードパーティの通話アプリのシステム UI との統合や、別のオーディオ アプリとのシームレスな連携が可能になっています。たとえば通話アプリは、車のヘッドユニットなど、さまざまな種類の UI で通話の表示や制御が可能です。
キーボード ナビゲーション: Chrome OS などの大きなフォーム ファクタでの Google Play アプリの登場と合わせて、これらのアプリで使われているキーボード ナビゲーションが復活します。Android O では、デベロッパーとエンドユーザーの双方に役立ち、信頼性が高く予測しやすい「矢印」や「タブ」のナビゲーション モデルの構築を目指しています。
プロ品質のオーディオを実現する AAudio API: AAudio は、高パフォーマンス、低レイテンシ オーディオを必要とするアプリに特化して設計された新たなネイティブ API です。AAudio を使用するアプリは、ストリームを使ってデータを読み書きします。今回の Developer Preview では、フィードバックをいただくために、この新しい API の初期バージョンをリリースします。
WebView の機能強化: Android Nougat では、オプションで WebView のマルチプロセス モードが導入されました。これは、ウェブ コンテンツの制御を独立したプロセスで行うものでした。Android O では、アプリのセキュリティと安定性を向上させるために、デフォルトでマルチプロセス モードを有効にし、アプリでエラーとクラッシュを制御するための API を追加します。また、その他のセキュリティ対策として、アプリの WebView オブジェクトで Google セーフ ブラウジングによる URL の確認が行えるようになっています。
Java 8 言語 API とランタイム最適化: 新しい java.time API などのいくつかの新しい Java 言語 API が Android でサポートされます。さらに、Android ランタイムが高速化されており、アプリのベンチマークによっては、最大 2 倍早くなっています。
パートナーによるプラットフォームへの貢献: ハードウェア メーカーや半導体関連のパートナーも、Android プラットフォームの O リリースに関連する修正や機能追加を行っています。たとえば、Sony は LDAC コーデックなどの 30 以上の機能拡張や、Android O の 250 のバグの修正に貢献しています。
まず、ユーザーがシームレスに Android O に移行できるようにアプリの互換性対応を行います。端末のシステム イメージかエミュレータのシステム イメージをダウンロードして現在のアプリをインストールし、テストします。アプリは正しく表示、実行され、動作の変更点に問題なく対処できている必要があります。必要なアップデートを終えた後は、アプリのプラットフォームのターゲットを変更せず、すぐに Google Play で公開することをおすすめします。
準備ができたら、アプリで活用できる機能について学習するため、O について詳しく理解します。プレビュー タイムライン、動作の変更点、新しい API、サポートされるリソースなどの詳細を O Developer Preview サイトでご確認ください。
バックグラウンドの制限事項やその他の変更点にどのようにアプリを対応させるか、計画を立てます。通知チャンネル、PIP、アダプティブ アイコン、XML フォント リソース、TextView の自動サイズ変更や、その他の新機能を試してみてください。Android O の新しい API を簡単に試せるように、Android O API リファレンスと合わせて API の差分レポートがオンラインで公開されています。
最新の Canary 版 Android Studio 2.4 には、Android O を試してみるための新機能が追加されています。O プレビュー SDK は Android Studio 内でダウンロードとセットアップが可能です。Layout Editor を使って Android O の XML フォント リソースやTextView の自動サイズ変更をお試しください。今後の Android O のサポートにもご期待ください。
アルファ版の 26.0.0 サポート ライブラリも試用できるようになっています。このバージョンでは、たくさんの新しい API が追加されており、minSdkversion も 14 に上がっています。詳細は、リリースノートをご覧ください。
O Developer Preview には、アップデートされた SDK のほか、公式 Android Emulator、Nexus 5X、Nexus 6P、Nexus Player、Pixel、Pixel XL、Pixel C の各端末でテストするためのシステム イメージが含まれています。ウェアラブル向けにビルドする場合は、Android O で Android Wear 2.0 をテストするためのエミュレータを使うことができます。
プレビュー システム イメージと SDK は、O Developer Preview の期間中、定期的にアップデートされる予定です。このプレビューの第 1 弾リリースは、デベロッパーのみを対象としています。日常的な使用やユーザーの使用を想定したものではありません。そのため、手動でのダウンロードと書き込みでのみ利用できます。ダウンロードと手順は、こちらをご覧ください。
完成に近づいたら、ユーザーも招待してテストしていただく予定です。その際には、Android ベータ版への登録もオープンしますので、ご期待ください。なお、現在のところ、Android ベータ版では、Android O は利用できない点に注意してください。
いつものように、皆さんのフィードバックは重要です。お気づきの点はぜひお知らせください。早めにお知らせいただければより多くのフィードバックを反映できます。問題を見つけた場合は、こちらから報告をお願いします。今までよりも安定した Issue Tracker ツールに移行しています。このツールは、製品開発時に Google 内部でもバグの追跡や機能リクエストに使われています。その使いやすさをぜひ実感してみてください。
Posted by Yuichi Araki - Developer Relations Team
2008 年に始まってから、Android プロジェクトはアプリのデベロッパー、端末メーカー、そしてユーザーの皆さんという活発なエコシステムからすばらしいフィードバックをいただいています。最近は、早い段階でパートナーに対して広く成果を共有できるように、エンジニアリング プロセスの改善に積極的に取り組んでいます。
先日、次期 OS である Android O の最初の Developer Preview が公開されたことをお知らせします。いつものことですが、これはまだ初期段階なので、今後も多くの機能や安定化、パフォーマンス改善が行われる予定です。しかし、Android O は本日からご利用になれます :)
今後数か月間にわたり、アップデート版の Developer Preview がリリースされる予定です。さらに、5 月の Google I/O では、Android に関わるあらゆることを詳しく取り上げる予定です。それまでの間に新しい OS でアプリをテストし、試用した新機能のフィードバックをお寄せください。
O の新機能
Android O には、アプリで利用できるたくさんの新機能や API が導入されています。ここでは、最初の Developer Preview で試すことができるいくつかの機能を紹介します。
バックグラウンドの制限事項: これは Nougat から開発が始まった機能です。Android O では、ユーザーの電池消費量削減と端末のインタラクティブ性能の改善に主眼が置かれています。これを実現するために、アプリがバックグラウンドで行えることが自動的に制限されます。この制限は主に、暗黙的ブロードキャスト、バックグラウンド サービス、位置情報のアップデートの 3 つに適用されます。これによって、ユーザーの端末や電池に最低限の影響しか与えないアプリを作りやすくなります。バックグラウンドの制限事項は、Android における大きな変更点になります。そのため、すべてのデベロッパーがこの点について熟知しておく必要があります。詳細については、バックグラウンド実行の制限とバックグラウンド位置情報の制限のドキュメントをご覧ください。
通知チャンネル: Android O には、通知チャンネルも導入されています。これは、アプリで通知コンテンツのカテゴリを定義できるようにする新機能です。デベロッパーがチャンネルを使うと、さまざまな種類の通知をユーザーが細かく制御できるようになります。たとえば、ユーザーはアプリごとではなく、チャンネルごとに通知をブロックしたり、通知の動作を変更したりできます。
通知チャンネルによってカテゴリごとにアプリの通知を管理
Android O には、新たな通知の視覚効果やグループ化も追加されているため、メッセージの着信時や通知シェードの確認時に何が起きているかがわかりやすくなっています。
Autofill API: Android ユーザーは、さまざまなパスワード マネージャを使ってログイン情報などの繰り返し入力する必要がある情報を自動入力しています。この機能によって、簡単に新しいアプリの設定や取引ができます。今回、自動入力がプラットフォームでサポートされ、エコシステム全体でこのような作業がさらに簡単になります。ユーザーは、キーボード アプリを選ぶのと同じようにして、自動入力アプリを選択できます。自動入力アプリは、住所、ユーザー名、パスワードなどのユーザーデータを安全に保管します。また、自動入力に対応させたいアプリで Autofill サービスを実装するための新しい API が追加されています。
ハンドセット用 PIP と新しいウィンドウ機能: スマートフォンとタブレットでピクチャ イン ピクチャ(PIP)表示が可能になるため、ユーザーは動画を見ながらチャットに応答したり、車を手配したりすることができます。PiP モードがサポートされているシステムのアプリは、再開または一時停止の状態から PiP モードを開始できます。PiP モードでは、アスペクト比や一連のカスタム操作(再生 / 一時停止など)が可能です。他に、アプリでシステムのアラート ウィンドウの代わりに使える新しいアプリ オーバーレイ ウィンドウや、リモート ディスプレイでアクティビティを起動できるマルチディスプレイ サポートなどのウィンドウ機能も追加されています。
XML フォント リソース: フォントは、リソースタイプとして Android O で完全にサポートされるようになります。XML レイアウトでフォントを使えるようになるほか、フォント ファイルとスタイルやウェイトを宣言することによって XML でフォント ファミリーを定義することもできるようになります。
アダプティブ アイコン: 端末の UI との一貫性を向上するため、アダプティブ アイコンを作成できるようになります。これは、端末が選ぶマスクを使って、システムごとに異なる形のアイコンを表示する機能です。さらに、アイコンとのインタラクションがアニメーションで表示されます。アダプティブ アイコンは、ランチャー、ショートカット、設定、共有ダイアログ、オーバービュー画面で利用できます。
端末モデルごとに異なる図形を表示するアダプティブ アイコン
広色域アプリ: Android のイメージング アプリのデベロッパーは、広色域ディスプレイを搭載した新しい端末の機能を活用できるようになります。広色域イメージを表示するアプリは、マニフェストに(アクティビティごとに)フラグを設定し、埋め込み広色域プロファイル(AdobeRGB、Pro Photo RGB、DCI-P3 など)を使ってビットマップを読み込む必要があります。
ネットワーク接続: オーディオの再現性を極限まで高めるため、Android O では LDAC コーデックなどの高品質 Bluetooth オーディオ コーデックがサポートされています。さらに、Wi-Fi Aware などの新しい Wi-Fi 機能も追加されています。これは、かつて Neighbor Awareness Networking(NAN)と呼ばれていた機能です。この機能によって、インターネット アクセス ポイントがなくても、適切なハードウェアを搭載した端末のアプリであれば、Wi-Fi 経由で近くの端末を検出して通信できるようになります。Google は Wi-Fi Aware テクノロジーを可能な限り多くの端末に導入するために、ハードウェア パートナーと連携して作業を進めています。
ConnectionService API は拡張されて Telecom フレームワークになっており、サードパーティの通話アプリのシステム UI との統合や、別のオーディオ アプリとのシームレスな連携が可能になっています。たとえば通話アプリは、車のヘッドユニットなど、さまざまな種類の UI で通話の表示や制御が可能です。
キーボード ナビゲーション: Chrome OS などの大きなフォーム ファクタでの Google Play アプリの登場と合わせて、これらのアプリで使われているキーボード ナビゲーションが復活します。Android O では、デベロッパーとエンドユーザーの双方に役立ち、信頼性が高く予測しやすい「矢印」や「タブ」のナビゲーション モデルの構築を目指しています。
プロ品質のオーディオを実現する AAudio API: AAudio は、高パフォーマンス、低レイテンシ オーディオを必要とするアプリに特化して設計された新たなネイティブ API です。AAudio を使用するアプリは、ストリームを使ってデータを読み書きします。今回の Developer Preview では、フィードバックをいただくために、この新しい API の初期バージョンをリリースします。
WebView の機能強化: Android Nougat では、オプションで WebView のマルチプロセス モードが導入されました。これは、ウェブ コンテンツの制御を独立したプロセスで行うものでした。Android O では、アプリのセキュリティと安定性を向上させるために、デフォルトでマルチプロセス モードを有効にし、アプリでエラーとクラッシュを制御するための API を追加します。また、その他のセキュリティ対策として、アプリの WebView オブジェクトで Google セーフ ブラウジングによる URL の確認が行えるようになっています。
Java 8 言語 API とランタイム最適化: 新しい java.time API などのいくつかの新しい Java 言語 API が Android でサポートされます。さらに、Android ランタイムが高速化されており、アプリのベンチマークによっては、最大 2 倍早くなっています。
パートナーによるプラットフォームへの貢献: ハードウェア メーカーや半導体関連のパートナーも、Android プラットフォームの O リリースに関連する修正や機能追加を行っています。たとえば、Sony は LDAC コーデックなどの 30 以上の機能拡張や、Android O の 250 のバグの修正に貢献しています。
対応を開始するためのシンプルな数ステップ
まず、ユーザーがシームレスに Android O に移行できるようにアプリの互換性対応を行います。端末のシステム イメージかエミュレータのシステム イメージをダウンロードして現在のアプリをインストールし、テストします。アプリは正しく表示、実行され、動作の変更点に問題なく対処できている必要があります。必要なアップデートを終えた後は、アプリのプラットフォームのターゲットを変更せず、すぐに Google Play で公開することをおすすめします。
Android O を使用してビルドする
準備ができたら、アプリで活用できる機能について学習するため、O について詳しく理解します。プレビュー タイムライン、動作の変更点、新しい API、サポートされるリソースなどの詳細を O Developer Preview サイトでご確認ください。
バックグラウンドの制限事項やその他の変更点にどのようにアプリを対応させるか、計画を立てます。通知チャンネル、PIP、アダプティブ アイコン、XML フォント リソース、TextView の自動サイズ変更や、その他の新機能を試してみてください。Android O の新しい API を簡単に試せるように、Android O API リファレンスと合わせて API の差分レポートがオンラインで公開されています。
最新の Canary 版 Android Studio 2.4 には、Android O を試してみるための新機能が追加されています。O プレビュー SDK は Android Studio 内でダウンロードとセットアップが可能です。Layout Editor を使って Android O の XML フォント リソースやTextView の自動サイズ変更をお試しください。今後の Android O のサポートにもご期待ください。
アルファ版の 26.0.0 サポート ライブラリも試用できるようになっています。このバージョンでは、たくさんの新しい API が追加されており、minSdkversion も 14 に上がっています。詳細は、リリースノートをご覧ください。
プレビューのアップデート
O Developer Preview には、アップデートされた SDK のほか、公式 Android Emulator、Nexus 5X、Nexus 6P、Nexus Player、Pixel、Pixel XL、Pixel C の各端末でテストするためのシステム イメージが含まれています。ウェアラブル向けにビルドする場合は、Android O で Android Wear 2.0 をテストするためのエミュレータを使うことができます。
プレビュー システム イメージと SDK は、O Developer Preview の期間中、定期的にアップデートされる予定です。このプレビューの第 1 弾リリースは、デベロッパーのみを対象としています。日常的な使用やユーザーの使用を想定したものではありません。そのため、手動でのダウンロードと書き込みでのみ利用できます。ダウンロードと手順は、こちらをご覧ください。
完成に近づいたら、ユーザーも招待してテストしていただく予定です。その際には、Android ベータ版への登録もオープンしますので、ご期待ください。なお、現在のところ、Android ベータ版では、Android O は利用できない点に注意してください。
フィードバックをお待ちしています
いつものように、皆さんのフィードバックは重要です。お気づきの点はぜひお知らせください。早めにお知らせいただければより多くのフィードバックを反映できます。問題を見つけた場合は、こちらから報告をお願いします。今までよりも安定した Issue Tracker ツールに移行しています。このツールは、製品開発時に Google 内部でもバグの追跡や機能リクエストに使われています。その使いやすさをぜひ実感してみてください。