日本のデベロッパーの方へ Google Play や Android に関する最新情報をお届け
Android 12 デベロッパー プレビューをリリースしました
2021年2月24日水曜日
この記事は Dave Burke による Android Developers Blog の記事 "
First preview of Android 12
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android アプリは、スマートフォン、ノートパソコン、タブレット、テレビ、自動車といったさまざまなデバイスで、日々数十億人の仕事や趣味、コミュニケーション、創作活動に使われています。皆さんが開発したアプリを利用する人が増えるにつれて、プラットフォームに対する期待値が上がるサイクルも短くなっています。皆さんに早い段階で Android の新しいバージョン リリースを共有する理由の 1 つはそこにあります。
本日 2021 年 2 月 18 日(日本時間 2 月 19 日)、Android の次期バージョンとなる Android 12 で最初の Developer Preview をリリースしました。
アプリやそれを使うあらゆる人々のために優れたプラットフォームを構築するために、フィードバックをお寄せください。 皆さんのテストとフィードバックをお待ちしています。
私たちはプライバシーとセキュリティを中心に据える一方で、バージョンアップのたびに Android OS をより賢く、使いやすくし、パフォーマンスを向上させてきました。Android 12 では、ユーザーのために優れたユーザー エクスペリエンスを構築できる新しいツールを提供する作業も続けています。たとえば、互換メディア トランスコーディングは、まだ最新の動画フォーマットをサポートしていないアプリが最新フォーマットを扱う際に役立ちます。また、画像や動画などの容量が大きなリッチ コンテンツをアプリに簡単にコピーしたり貼り付けることができるようになります。さらに、プライバシー保護や、アプリをすばやく応答させるパフォーマンスの最適化も追加します。
今回発表したデベロッパー プレビューは、Android 12 の始まりに過ぎません。今後正式版リリースに向けて作業を進める中で、さらに多くのことを共有させていただく予定です。この記事では、Android 12 の新機能の概要をご説明します。
Pixel 向けのデベロッパー プレビュー のダウンロード
方法や、詳細な
リリース スケジュール
は、
Android 12 デベロッパー ウェブサイト
をご覧ください。最終的なプロダクトに組み込むには、早い段階のフィードバックが欠かせません。ぜひ
皆さんの感想をお知らせください
。
今月、Android 12 のほかにも、すばらしいユーザー エクスペリエンスを簡単に作ることができる、もう 1 つの重要なツールについてお知らせする予定です。それが、ネイティブ UI を作成する最新ツールキット、Jetpack Compose です。Jetpack Compose の開発の舞台裏をご紹介する
オンライン イベント #TheAndroidShow
をぜひご覧ください。太平洋時間 2 月 24 日午前 9 時(日本時間 2 月 25 日 午前 2 時)より、ライブ配信でお送りします。Jetpack Compose に関する質問は、ハッシュタグ #TheAndroidShow をつけて、Twitter に英語で投稿してください。イベント中にご回答します。
信頼と安全
プライバシーは、私たちが行うすべてのことの中核です。Android 12 では、これまでに引き続き、デバイスとデータを安全に保ちつつ、ユーザーの透明性と制御を向上させることに注力します。このデベロッパー リリースでは、トラッキングに利用できる識別子に関する新たな制御を追加したり、アプリのコンポーネントのデフォルトを安全なものに変更しています。このような変更によってアプリが影響を受ける可能性がありますので、できるだけ早くテストすることをお勧めします。今後のプレビュー リリースでは、プライバシーやセキュリティの機能をさらに追加する予定です。
最新の WebView での SameSite Cookie 動作 -
Chrome
や他のブラウザの変更に合わせて、WebView に新しい SameSite Cookie 動作を組み込みます。これにより、セキュリティとプライバシーが強化され、ウェブサイトをまたぐ Cookie の利用に関するユーザーの透明性と制御が向上します。
詳しくはこちらをご覧ください
。
Netlink MAC の制限 -
プライバシーを保護できるリセット可能な識別子
への移行を行うデベロッパーのサポートを継続します。デバイスをスコープとする Netlink MAC の移行を簡単にするための複数のリリースにわたる作業として、Android 11 では API レベル 30 を対象として Netlink MAC へのアクセスを制限しました。Android 12 では、ターゲット SDK レベルにかかわらず、この制限をすべてのアプリに適用します。
詳しくはこちらをご覧ください
。
コンポーネントの安全なエクスポート -
アプリが意図せずにアクティビティ、サービス、レシーバをエクスポートしてしまうことがないように、
android:exported
属性のデフォルトの扱いをより明示的なものに変更します。この変更により、1 つまたは複数のインテント フィルタを宣言しているコンポーネントは、android:exported 属性を明示的に宣言しなければならなくなります。この変更に伴うインストール エラーが起こらないように、マニフェストのコンポーネントを確認してください。
詳しくはこちらをご覧ください
。
Intent の安全な扱い -
Android 12 では、PendingIntent をさらに安全に扱えるように、各 PendingIntent ごとに可変性フラグ(
FLAG_MUTABLE
または新設される
FLAG_IMMUTABLE
)を明示的に宣言しなければならなくなります。
詳しくはこちらをご覧ください
。
上記の詳細やその他のプライバシーやセキュリティの変更点については、
こちらをご覧ください
。
ユーザー エクスペリエンス ツールの進化
Android 12 では、洗練されたエクスペリエンスと優れたパフォーマンスをユーザーに提供できるように、重要な領域に注力しています。現時点での主なアップデートは以下のとおりです。
互換メディア トランスコーディング -
モバイル デバイスでの HEVC ハードウェア エンコーダの普及に伴い、HEVC フォーマットで録画するカメラアプリが増加しています。このフォーマットは、古いコーデックに比べて画質と圧縮率が大幅に向上しています。ほとんどのアプリは HEVC をサポートすべきですが、それができないアプリのために、互換メディア トランスコーディングを導入します。
この機能を使うと、HEVC をサポートしないアプリは、プラットフォームの機能を利用してファイルを AVC(広い互換性があるフォーマット)に自動トランスコードできます。トランスコード処理には、動画やデバイスのハードウェア特性に応じた時間がかかります。たとえば Pixel 4 では、1 分間の 30fps、1080p の動画のトランスコードに約 9 秒が必要です。トランスコーディング サービスは、アプリがサポートしないメディア フォーマットを宣言するだけで利用できます。デベロッパーの皆さんには、アプリで HEVC をサポートすることを強くお勧めしますが、それが不可能な場合は、互換メディア トランスコーディングを有効にしてください。この機能は、HEVC フォーマットで動画を録画するすべてのデバイスで利用できるようになる予定です。本機能に関するフィードバックをお待ちしています。
詳しくはこちらをご覧ください
。
AVIF イメージ サポート -
画質と圧縮効率を向上させるため、Android 12 では
AV1 イメージ ファイル フォーマット
(AVIF)をプラットフォームでサポートします。AVIF は、
AV1
でエンコードされたイメージとイメージ シーケンスのコンテナ フォーマットです。AVIF は、他の最新イメージ フォーマットと同じく、動画圧縮のフレーム内エンコードを行ったコンテンツの利点を活用しています。JPEG などの古いイメージ フォーマットと比較すると、同じファイルサイズで画質が大幅に向上します。
AVIF (18.2kB) JPEG (20.7kB)
Jake Archibald のブログ記事「
AVIF has landed
」の
イメージ比較
より
フォアグラウンド サービスの最適化 -
フォアグラウンド サービスは、アプリが特定の種類のユーザー向けのタスクを管理する方法として重要です。しかし、多用しすぎるとパフォーマンスに影響し、場合によってはアプリが強制終了することもあります。新しいプラットフォームをターゲットとしたアプリでは、ユーザー エクスペリエンスを向上させるため、バックグラウンドで開始されたフォアグラウンド サービスをブロックします。このパターンから簡単に移行できるように、JobScheduler に新しい
サポート ジョブ
を導入します。このジョブは、プロセスの優先度とネットワーク アクセスが昇格しており、バッテリー セーバーや Doze などの電源の制約を受けずに即時実行できます。
下位互換性を持たせるため、最新リリースの
Jetpack WorkManager ライブラリ
にもサポート ジョブを組み込んでいます。また、ユーザーの気が散ることがないように、一部のフォアグラウンド サービスの通知の表示を最大 10 秒遅らせます。これにより、短いタスクは通知が表示される前に完了する可能性が出てきます。
詳しくはこちらをご覧ください
。
リッチ コンテンツの挿入 -
ユーザーは画像や動画などの表現力の高いコンテンツが大好きです。しかし、アプリでこのようなコンテンツを挿入したり、移動したりすることは、簡単ではありません。そこで、アプリで簡単にリッチ コンテンツを受け取れるように、新しい統合 API を導入します。これにより、クリップボード、キーボード、ドラッグ&ドロップなどのあらゆるソースからコンテンツを受け取れるようになります。
UI コンポーネントに新しいインターフェース
OnReceiveContentListener
をアタッチすると、何らかの仕組みでコンテンツが挿入されたときにコールバックを受け取ります。コードでは、このコールバックを使って 1 か所であらゆるコンテンツの挿入に対応します。プレーン テキスト、スタイル付きテキスト、マークアップ、画像、動画、オーディオ ファイルなどに対応できます。下位互換性を持たせるため、
Androidx
にもこの統合 API を追加しました。
詳しくはこちらをご覧ください
。
触覚と組み合わせたオーディオ効果 -
Android 12 アプリは、スマートフォンのバイブレータを通して、音声と組み合わせた触覚フィードバックを提供できます。振動の強さと周波数はオーディオ セッションで決まるので、迫力あるゲームやオーディオ体験を作成できるようになります。たとえば、ビデオ通話アプリでカスタムの着信音を使って触覚フィードバックで発信者を特定できるようにしたり、レースゲームで大まかな地形を表現したりすることができます。
詳しくはこちらをご覧ください
。
マルチチャンネル オーディオ -
Android 12 には、空間情報を使ったいくつかのオーディオの拡張が導入されます。パススルーとオフロード モードでの MPEG-H 再生がサポートされ、オーディオ ミキサー、リサンプラー、エフェクトが従来は最大 8 チャンネルでしたが、最大 24 チャンネルに最適化されます。
ジェスチャー ナビゲーション向けのイマーシブ モード API の改善 -
ジェスチャー ナビゲーションの簡易性と一貫性向上のため、動画視聴中、読書中、ゲームのプレイ中などの場合に、イマーシブ モードを簡略化します。ゲーム関連のフルスクリーン操作では、アプリは今後も
意図しないジェスチャーから保護
されます。しかし、新しいプラットフォームをターゲットとしたアプリで他のフルスクリーン操作(例: 動画ビューア、読書、フォトギャラリー)を行う場合、ユーザーが 1 回のスワイプでスマートフォンを操作できるようにデフォルトの動作を変更します。
詳しくはこちらをご覧ください
。
通知 UI のアップデート -
通知のデザインを更新し、モダンで使いやすく、便利にしました。今回の最初のプレビューでは、ドロワーやコントロール、テンプレート自体が変更されていることに気づくはずです。システム全般の遷移やアニメーションをスムーズにするための最適化も行っています。Android 12 をターゲットとしたアプリでは、アップデートの一環として、通知をアイコン付きのカスタム コンテンツで装飾します。また、アフォーダンスを拡張し、他のすべての通知と一致するようにします。
詳しくはこちらをご覧ください
。
高速でレスポンシブな通知 -
ユーザーは、通知をタップしたときにすぐにアプリが開くことを期待しています。早ければ早いほど良いのです。デベロッパーは、この期待を満たせるように「トランポリン」(仲介するブロードキャスト レシーバーやサービス)を使って Activity を起動するのではなく、通知をタップしたときに直接 Activity を起動するようにしますが、通知のトランポリンは重大な遅延を引き起こすので、ユーザー エクスペリエンスに影響する可能性があります。
そこで、レスポンシブな通知を維持するため、Android 12 はターゲット Activity の起動を停止し、通知のトランポリンをブロックします。この処理を実装しているアプリ デベロッパーの皆さんは、このパターンからの移行をお願いします。この変更は新しいプラットフォームをターゲットにしたアプリにのみ適用されますが、デベロッパーやユーザーがトランポリンを視覚的に認識できるように、すべてのアプリにトーストが表示されます。
詳しくはこちらをご覧ください
。
Binder IPC 呼び出しの改善 -
パフォーマンス関連の作業の一環として、システム間のばらつきを減らすことに注力しています。そこで、遅延とワークロードの分散に注目し、最後尾(99 パーセンタイルのユースケース)から中央値のエクスペリエンスを減少させる最適化を行いました。その際には、軽量キャッシュ戦略を追加してロックの競合をなくすことを主眼に置き、システムの Binder 呼び出しを改善して遅延の分散を減らすことを目的にしました。これにより、Binder 呼び出し全体のパフォーマンスが約 2 倍向上し、特定の呼び出しが大幅に改善されました。たとえば、
refContentProvider()
が 47 倍、
releaseWakeLock()
が 15 倍、
JobScheduler.schedule()
が 7.9 倍などです。
アプリの互換性
新しいバージョンのプラットフォームをロールアウトするにあたって、アプリの互換性を優先し、迅速かつスムーズにアップデートできるように作業を行っています。皆さんが新しいバージョンの OS に対応する時間を長くとれるよう、Android 12 ではアプリに関連する変更のほとんどがオプトイン方式になっています。また、短時間で対応できるように、ツールやプロセスをアップデートしています。さらに、Android 12 デバイスがアプリの環境向上につながるように、Google Play システム アップデートに新機能を追加しました。
Google Play を経由した Android アップデートの促進 -
デバイスを問わず、一貫性のある安全な環境をアプリに提供するため、
Google Play システム アップデート(Project Mainline)
への注力を拡大し続けます。Android 12 では、Android 12 を実行するデバイス向けにコアランタイムやライブラリのアップデートをプッシュする Android Runtime(ART)モジュールを追加しました。完全なシステム アップデートを行うことなく、ランタイムのパフォーマンス改善や修正、メモリ管理の効率化、Kotlin 命令の高速化を実現できます。さらに、既存モジュールの機能拡張も行っています。たとえば、互換メディア トランスコーディング機能は、アップデート可能なモジュールで配信します。
タブレット、フォルダブル デバイス、TV 向けの最適化 -
フォルダブル デバイス、タブレット、TV などの大画面デバイスでアプリを使うユーザーがさらに増えています。今はアプリやゲームを対応させる絶好の機会です。まずは、
タブレット向けの最適化とフォルダブル デバイス向けのアプリ構築
からスタートしましょう。さらに、リビングルームのテレビ画面向けに、Android TV の最初の Android 12 プレビューも公開します。
このプレビューでは、テレビ向けに最新の Android 機能が提供されるだけでなく、まったく新しい Google TV エクスペリエンスでアプリをテストすることもできます。詳しくは
Android TV Developers のウェブサイト
を、開発を始めるには
ADT-3 デベロッパー キット
をご覧ください。
非 SDK インターフェース リストの更新 -
非 SDK インターフェース
の制限を追加しました。いつものように、フィードバックや
同等のパブリック API のリクエスト
は大歓迎です。
変更点のテストやデバッグの簡易化 -
アプリに影響する可能性がある変更点を簡単にオプトインしてテストできるように、多くの変更点を切り替え可能にしています。この切り替えを利用すると、それぞれの変更を開発者オプションや adb から強制的に有効化、無効化できます。
詳細はこちらをご覧ください
。
開発者向けオプションのアプリの互換性切り替え
Platform Stability マイルストーン -
Android 12 とアプリの互換性を確認し、対応する作業を計画する時間を長くとれるように、昨年と同様に早いタイミングで Platform Stability マイルストーンをお知らせします。
このマイルストーンでは、最終版の SDK や NDK API だけでなく、内部 API やアプリに関連するシステム動作の最終版を配信します。Platform Stability に到達する時期は 2021 年 8 月ごろを想定しています。公式リリースはその数週間後なので、それまでの間に最終テストを行うことができます。詳しいリリース スケジュールは
こちら
をご覧ください。
Android 12 をインストールする
このデベロッパー プレビューには、Android 12 の機能を確認し、アプリをテストして
フィードバック
を私達にお送りいただくために必要なすべてのものが含まれています。
Pixel 3 / 3 XL、Pixel 3a / 3a XL、Pixel 4 / 4 XL、Pixel 4a / 4a 5G、Pixel 5
の
システム イメージへダウンロード
すると、すぐに利用を開始できます。Pixel デバイスをお持ちでない方は、Android Studio で 64 ビット システム イメージと Android Emulator を使うことができます。
セットアップ
の完了後に、以下の対応をお願いします。
新機能や新 API を試す -
早い段階のデベロッパー プレビューでは、皆さんからのフィードバックが不可欠です。Tracker で問題を報告するか、
フィードバックとリクエストのページ
から機能を選択し、アンケートから直接フィードバックをお送りください。
現在のアプリの互換性をテストする -
アプリが Android 12 のデフォルトの動作の変更による影響を受けるかどうかご確認ください。Android 12 を実行しているデバイス、またはエミュレータに現在公開しているアプリをインストールするとテストが可能です。
変更をオプトインしてアプリをテストする -
Android 12 では、動作の変更点はターゲットに新しいプラットフォームを指定した場合のみアプリに影響するようになっており、それをオプトインすることができます。変更点を早めに把握し、評価することが非常に重要ですので、簡単にテストできるように
変更点のオン、オフを個々に切り替え
られるようになっています。
プレビュー システム イメージと SDK は、Android 12 のリリース サイクル期間中、定期的にアップデートされる予定です。今回リリースしたバージョンは、
デベロッパーのみ
を対象としているデベロッパー プレビューです。日常的な使用やユーザーの使用を想定したものではありません。そのため、
手動でのダウンロード
でのみ利用できます。ファクトリ イメージを Pixel デバイスに書き込むか、Android 11 を実行している Pixel デバイスの外部記憶装置から OTA イメージを読み込むことでご利用いただけます。後者の場合は、ブートローダーのアンロックやデータの消去は必要ありません。どちらの方法でも、プレビュー ビルドを手動でインストールすると、以降のプレビューやベータ版の機能はすべて OTA で自動アップデートされます。
詳しくはこちらをご覧ください
。
Android 12 が完成に近づいたら、一般のユーザーも招待してテストしていただく予定です。その際には、Android ベータ版への登録もオープンしますので、ご期待ください。なお、現在のところ、
Android ベータ版では、Android 12 は利用できない
点に注意してください。
完全な情報は、
Android 12 デベロッパー のウェブサイト
でご確認ください。
Reviewed by
Takeshi Hagikura - Developer Relations Team
and Hidenori Fujii - Google Play Developer Marketing APAC
Android 11 Beta 2 リリースと Platform Stability
2020年7月15日水曜日
この記事は Dave Burke による Android Developers Blog の記事 "
Android 11 Beta 2 and Platform Stability
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
数週間前、人、管理、安全性にフォーカスした
Android 11 Beta 1 をリリースしました
。
#Android11Beta Launch
でも取り上げましたが、この OS の開発では、スマートフォンで会話する方法を新たな発想で見直し、皆さんの生活に最も重要な「人」を優先しています。Beta 1 ではより人間中心になり、表現力が豊かになりました。スマート端末は操作しやすくなり、機密性の高いアクセス許可も細かく制御できるようになりました。また、
会話通知
、
バブル
、
クイック アクセス デバイス コントロール
、
メディア コントロール
などの API を使用して、「人」を優先したエクスペリエンスをアプリに組み込むことができるようになりました。
そして 2020 年 7 月 8 日(日本時間 7 月 9 日)、Android 11 Beta 2 をリリースしました。今回のリリースで
Platform Stability
に到達し、Android 11 の API と動作がこれで確定しました。デベロッパーの皆さんは早急にご自分のアプリの互換性アップデートに着手し、2020 年第 3 四半期に予定している Android 11 公式リリースまでに完了、公開していただけるようお願いします。
#11 Weeks of Android
の第 4 週目のテーマは、Android 11 の互換性です。この週を通して、役立つコンテンツや資料を公開します。
#11 Weeks of Android のページ
にアクセスするか、
Twitter
や
Youtube
で Android Developers をフォローしてください。
Pixel 2、3、3a、4 の各端末は、こ
ちらから登録
してすぐに無線(OTA)アップデートで Beta 2 を入手でき、
ダウンロード
も可能です。既に Beta 1 をインストールしている端末は、自動的に無線アップデートが行われます。
ぜひ感想をお聞かせください
。これまでにフィードバックをお寄せくださった皆様、ありがとうございました!
Platform Stability
今回公開した Beta 2 で、Android 11 は
Platform Stability
となりました。このマイルストーンは、フィードバックに基づいて、デベロッパーの皆さんのために今年新たに追加されました。
Platform Stability は、Android 11 のアプリに関わる部分とその動作がすべて確定版になったことを意味します。SDK と NDK API が確定するだけでなく、アプリに影響する可能性がある非 SDK インターフェースについてのシステム動作や制限も確定します。Beta 2 以降はプラットフォームが変わることはないので、安心して互換性アップデートを公開できます。スケジュールの詳細は
こちら
をご覧ください。
プラットフォームが安定版になったので
すべてのアプリやゲームのデベロッパーの皆さん
は、最終の互換性テストを開始し、最終リリース前にアップデート版のアプリを公開することをおすすめします。
すべての SDK、ライブラリ、ツール、ゲームエンジン デベロッパーの皆さん
は、今すぐテストを開始し、できる限り早く互換性アップデートを公開することが非常に重要です。皆さんのライブラリなどを利用しているデベロッパーの方は、皆さんからのアップデートを受け取るまで作業できないかもしれません。互換性アップデートを公開したら、関係するデベロッパーに向けてアナウンスをお願いします。
アプリの互換性が重要である理由
Android における
アプリの互換性
とは、特定のバージョンのプラットフォーム(通常は最新版)でアプリが問題なく動作することを意味します。互換性は、Android 11 を実行している端末またはエミュレータに本番向けのアプリをインストールすれば、すぐにチェックできます。すべてのユーザーフローや機能をテストして、アプリの見栄えと動作が問題ないことを確認できれば、互換性を確保できたことになります。
こう聞くと簡単そうですが、それだけでは不十分かもしれません。リリースのたびにプライバシーとセキュリティの改善に必要な変更が行われ、OS 全体のユーザー エクスペリエンスを進化させる変更も実装されています。場合によっては、アプリに影響が生じる可能性もあります。そのため、
動作の変更点
を確認してテストし、ユーザーに互換性アップデートを公開することが必要です。これは基本的なことですが、品質基準としてなくてはならない工程です。
アプリの互換性は、ユーザーが最新バージョンの Android にアップデートする際に重要になります。この点は、新しい端末を購入した場合でも現在の端末にアップデートをインストールした場合でも変わりません。ユーザーは最新バージョンの Android OS を使うことを楽しみにしており、そこでお気に入りのアプリを使いたいと考えています。アプリがきちんと動作しなければ、ユーザーにとっても、私たち全員にとっても大問題になります。
Android 11 Beta 2 で利用できる
新しい API や機能
はたくさんあり、アプリのターゲットを変更する際に考慮すべき変更点も多くありますが、まずは現在のアプリをテストし、互換性アップデートをリリースするところから始めましょう。
Pixel などの端末では、Android 11 が
Android オープンソース プロジェクト(AOSP)
に最終リリースされ次第、アップデートが始まります。このタイミングは、2020年第 3 四半期を予定しています。複数のパートナーの端末でも、互換性テストをサポートするために積極的なパブリック プレビューを実施中です。
アプリの互換性を確保しやすくなった Android 11
私たちはリリースのたびに、アプリの準備に必要な作業を減らすよう努めています。Android 11 では、プラットフォームのアップデートによる影響を最低限にとどめ、簡単にアプリの互換性を維持できるようにするため、新しいプロセスやデベロッパー ツール、リリース マイルストーンを追加しました。
動作の変更による影響を最低限に
- 私たちは、アプリに影響する可能性があるプラットフォームの変更を最低限に抑えるよう、意識的に取り組んでいます。そのために、アプリの
targetSdkVersion
を Android 11 に設定するまで、可能な限り変更をオプトインできるようにしています。また、Google Play を通して配信している場合は、これらの変更をオプトインするまでに 1 年以上の猶予があります。
テストとデバッグを簡単に
- 互換性のテストに役立ててもらうため、多くの互換性を伴わない変更を切り替え可能にしています。つまり、開発者向けオプションや adb から、個々の変更を強制的に有効化または無効化できます。この変更により、基本的なテストのために targetSdkVersion を変更したり、アプリを再コンパイルする必要はなくなりました。
詳細はこちらをご覧ください
。
開発者向けオプションのアプリの互換性切り替え
非 SDK インターフェースの制限
- デベロッパーの皆さんが徐々に非 SDK API から移行できるようにする継続的な作業の一環として、
制限されている非 SDK インターフェース
の一覧をアップデートしました。いつものように、皆さんのフィードバックや
同等のパブリック API についてのリクエスト
を歓迎します。
ダイナミック リソース ローダー
- デベロッパーの皆さんから、非 SDK インターフェースからの移行の一部として、実行時にリソースやアセットを動的に読み込むパブリック API についての要望が寄せられていました。そこで、Android 11 に
リソース ローダー フレームワーク
を追加しました。
Platform Stability リリーススケジュール
-
既にお知らせしたように
、これはリリース プロセスに追加した新しいマイルストーンで、最終的な変更の日程をデベロッパーの皆さんに明示することが目的です。SDK/NDK API が最終版になるだけでなく、アプリに影響する可能性がある内部 API とシステム動作も最終版となります。
Android 11 リリースに向けたアプリの準備
Android 11 が安定版になったので、できるだけ早く
アプリの互換性を確保
してください。そのための方法を以下に示します。
現在のアプリのテストは、
すべてのアプリが対象となる動作の変更点
から始めましょう。ここから、影響がありそうな変更点を確認できます。次に示すのは、特に重要な変更点です(これらはアプリの targetSdkVersion に関係なく適用されます)。
1 回だけのアクセス許可
- 位置情報と端末のマイクやカメラに対する 1 回限りのアクセス許可を付与できるようになります。詳細については、
こちら
をご覧ください。
外部ストレージ アクセス
- 外部ストレージにある他のアプリのファイルにアクセスできなくなりました。詳細については、
こちら
をご覧ください。
Scudo 強化アロケータ
- アプリのネイティブ コード用ヒープメモリ アロケータです。詳細については、
こちら
をご覧ください。
ファイル記述子サニタイザー
- この機能がデフォルトで有効化されるようになりました。アプリのネイティブ コードでファイル ディスクリプタ処理の問題を検出します。詳細については、
こちら
をご覧ください。
アプリのライブラリや SDK の互換性テスト
も忘れずに行ってください。問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを求めます。
互換性を確認したアプリを公開した後は、
アプリの targetSdkVersion をアップデート
する
作業
に着手します。
Android 11 アプリに関する動作の変更点
を確認し、
互換性フレームワーク
を試して影響を確認します。次に示すのは、テストする際に特に重要な変更点です(targetSdkVersion 30 以上にのみ適用されます)。
対象範囲別ストレージ
- ファイルを読み書きするアプリについて、ストレージの制限、動作、API が新しくなります。詳細については、
こちら
をご覧ください。
バックグラウンド位置情報
- アプリがバックグラウンド位置情報をリクエストする方法と、ユーザーがアクセスを許可する方法が変更されます。詳細については、
こちら
をご覧ください。
パッケージの公開設定
- インストールされている別のアプリに対してアプリがクエリまたは操作を行う方法が変更されます。詳細については、
こちら
をご覧ください。
圧縮されたリソース ファイル
- 圧縮された resources.arsc ファイルが含まれている場合、またはこのファイルが 4 バイト境界に揃えられていない場合、アプリのインストールやアップデートができなくなります。詳細については、
こちら
をご覧ください。
APK 署名スキーム v2
- APK 署名スキーム v2 以上でのアプリの署名が必要になります。詳細については、
こちら
をご覧ください。
ヒープポインタのタグ付け
- 64 ビットプロセスでは、ネイティブ ヒープ割り当てによってポインタの最上位バイトにタグが設定されます。これをアプリで変更してはいけません。詳細については、
こちら
をご覧ください。
テストでは、制限されている非 SDK インターフェースが使用されていないかを確認し、存在する場合は同等のパブリック SDK に移行します。制限されている API については、
こちら
をご覧ください。
新しい機能と API を試してみる
準備ができたら、早速 Android 11 を試して、構築できる新しいエクスペリエンスについて学びましょう。
#Android11 ベータ版についてのブログ記事
に、デベロッパー向けの新機能がまとめられています。また、
Beta Launch ページ
にアクセスして、Android チームのトークや各分野の新機能を確認することもできます。
Android Studio にも Android 11 向けに、大きな APK のインストールを高速化する
ADB Incremental(adb 増分 APK インストール)
、プラットフォーム API への追加の NULL 可能性アノテーションなど、生産性やワークフローを改善するための新機能が搭載されました。最新の Android Studio ベータ版または
Canary 版をダウンロード
すると、これらの機能を試してみることができます。Android Studio を Android 11 用に設定する手順は
こちら
です。
Android 11 向けの機能や API の詳細については、
Android 11 デベロッパー サイト
をご覧ください。
Android 11 Beta 2 の入手方法
簡単です!
こちらから登録
すると、Pixel 2、3、3a、4 の各端末で Android 11 ベータ版の無線アップデートを受け取ることができます。または、簡単にオンデマンドでアップデートしたい方は、
Android Flash Tool
をお試しください。ダウンロード可能なシステム イメージも
公開されています
。Pixel 端末をお持ちでない方は、Android Studio で Android Emulator を使うか、サポートされている Treble 対応端末で GSI イメージを使うと、Android 11 を実行できます。
皆さんからのフィードバックを活用して、さらに改善を続けていきます。ぜひ
お気づきの点はぜひこちらからフィードバックをお寄せください
。
プラットフォームの問題
(プライバシーや動作の変更点も含む)、
アプリの互換性の問題
、
サードパーティ SDK の問題
の送信には、ホットリストを使うことができます。これまですばらしいフィードバックを共有してくださった皆さん、どうもありがとうございました。
Android 11 互換性の関連情報
#11 Weeks of Android
の第 4 週のテーマは、Android 11 の互換性です。プラットフォームが安定版になった今、すべてのデベロッパーにとって重要な内容が含まれています。
互換性テストに便利な情報を
こちら
で共有しています。また、
Twitter
や
Youtube
で Android Developers をフォローすると、この 1 週間を通してこの分野に役立つコンテンツや資料を入手できます。
太平洋夏時間の 7 月 9 日午後 12 時(日本時間 7 月 10 日午前 4 時)に、Android エンジニアチームが r/androiddev で Reddit AMA を開催し、Android 11 についての技術的な質問にお答えしました。詳細は
Reddit のスレッド
をご覧ください。
Reviewed by
Yuichi Araki - Developer Relations Team
and Nori Fujii - Google Play Developer Marketing APAC
ラベル
#11WeeksOfAndroid
18
#AndroidDevJourney
1
AI
1
Android
50
Android App Development
35
Android Architecture
1
Android Architecture Components
1
Android Auto
1
Android Dev
2
Android Developer
28
Android Developers
5
Android Development
4
Android for cars
3
Android Jetpack
3
Android O
1
android security
6
Android Studio
8
Android Tools
2
Android TV
2
Android10
1
Android11
19
Android12
2
Android9
1
AndroidDevChallenge
4
AndroidX
2
announcement
1
App Bundle
2
App quality
1
Best Apps 2020
1
Best games 2020
1
Best Practices
1
Biometrics
1
Buildbetterapps
2
case study
3
compatibility
2
Compose
2
Conversation API
1
conversations
2
COVID-19
3
Custom Model
1
dark theme
1
Delegation
1
Design Patterns
1
Developer Preview
1
Developer Review
1
Developers Story
5
Featured
38
Firebase
1
Firebase Remote Config
1
game
3
Game Development
1
Google Play
47
Google Play App Safety
1
Google Play Billing
2
Google Play Billing Library
1
Google Play developer distribution agreement
1
Google Play Developer Policies
2
Google Play Devs
2
Google Play Game Services
1
Google Play Store
2
GPS
1
IGF2020
6
IGF2021
1
Indie Game
8
Indie Games Festival
8
Indie Games Festival 2020
7
Indie Games Festival 2021
1
Insights
1
Japanese
15
Japanese Developer
9
Jetpack
4
Jetpack Compose
3
JetpackCompose
4
Kotlin
13
Kotlin Android Extensions
1
Kotlin Beginners
3
Kotlin Vocabulary
2
latest
32
lifull
1
Location
1
Location Data
1
Machine Learning
1
Mad Skills
2
MADSkills
3
Material Design
1
Media
1
mikan
1
ML
1
ML Kit
1
Model Maker
1
monetization
3
Navigation
1
notifications
2
Now in Android
18
people
2
People API
1
permissions
1
Pixel
1
Play Billing
1
Play Console
10
Policy
9
policy compliance
8
policy violations
8
privacy
7
Requirements
3
safety
1
Security
5
subscriptions
5
tapple
1
TensorFlow
2
TensorFlow Lite
1
UI
1
Wear OS
2
webinar
1
Workmanager
2
ブログ アーカイブ
2021
4
3
2
1
2020
12
11
10
9
8
7
6
5
4
3
2
1
2019
12
9
7
6
4
3
2018
8
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"