日本のデベロッパーの方へ Google Play や Android に関する最新情報をお届け
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
#Android12
1
#AndroidDevJourney
1
#androiddevsummit
5
#GoogleIO
19
#WeArePlay
11
12l
1
5 star apps
1
Ads
1
advertising
1
AGDE
1
AGDK
2
AGI
1
AI
3
AI Announcements beginner Explore Generative AI
1
AI Announcements beginner Explore Generative AI、
1
Android
112
Android 10
1
Android 11
1
Android 12 Beta 5
1
Android 12L
1
Android 13
3
Android 14
7
Android 14 Beta 4
1
Android 14 ベータ版4
1
Android 15
4
Android App Development
42
Android app excellence
1
Android Architecture
1
Android Architecture Components
1
Android Auto
4
Android Automotive OS
1
Android Dev
2
Android Dev Summit
1
Android Dev Summit 2021
1
Android Developer
31
Android Developers
50
Android Development
8
Android Development Tools
1
Android fitness
1
Android for cars
5
Android Game Development Kit
1
Android Games
2
Android health
3
Android Jetpack
10
Android O
1
Android photo picker
1
Android SDK
2
Android SDK Upgrade Assistant
1
android security
7
Android Stu
1
Android Studio
35
Android Studio Bumblebee
1
Android Studio Chipmunk
1
Android Studio Dolphin
2
Android Studio Dolphin Beta
1
Android Studio Electric Eel Canary
1
Android Studio Giraffe
1
Android Systemui
1
Android Tools
2
Android TV
4
Android TV OS
1
Android10
1
Android11
19
Android12
13
android13
6
Android14
2
Android15
2
Android9
1
androidbasics
1
AndroidDev
1
AndroidDevChallenge
4
AndroidGoogle Play
1
androidstudio
3
AndroidX
4
announcement
3
Announcements
12
aosp
1
APIs
1
App
2
App Bundle
2
app development
4
app lifecycle
1
app performance
1
App quality
3
App Security
1
appexcellence
2
appexcellencecasestudy
1
appquality
2
apps
2
AppWidgets
1
Architecture
2
Assistant
1
attestation
1
Authentication
3
Best Apps 2020
1
best apps 2022
1
best apps 2023
1
Best games 2020
1
best games 2022
1
best games 2023
1
Best Practices
2
Beta
2
Biometrics
1
Buildbetterapps
2
CameraX
2
case study
6
ChromeOS
1
Cloud photos
1
coding productivity
1
compatibility
3
Compose
20
Compose Animation Previews
1
Conversation API
1
conversations
2
COVID-19
3
credential manager
1
Custom Model
1
Dagger Hilt
1
dark theme
1
Delegation
1
Dependency Injection
1
Design Patterns
1
Develop
1
Developer Preview
14
Developer Review
1
developer stories
5
developers
1
Developers Story
5
device explorer
1
devices
2
Edge-to-edge
1
events
2
Explore
2
Featured
152
Featured Game Development
1
Featured Google Play Policy
1
features
2
Firebase
2
Firebase Remote Config
1
foldables
7
form factors
3
game
19
Game Development
7
Game Mode API
1
games
2
gaming
1
GDG
1
Gemini
2
Get Inspired
2
get started
1
glance
1
Google AI Studio
1
Google Developers
1
Google for Games Developer Summit
2
Google I/O
5
Google Pixel Fold
1
Google Pixel Tablet
1
Google Play
122
Google Play App Safety
1
Google Play Billing
2
Google Play Billing Library
1
Google Play Console
3
Google Play developer distribution agreement
1
Google Play Developer Policies
3
google play developers
6
Google Play Devs
2
Google Play Game Services
1
Google Play Games
6
Google Play Indie games accelerator
2
Google Play Indie Games Festival
1
Google Play Integrity API
1
Google Play Latest
1
Google Play Pass
1
Google Play Points
1
Google Play SDK Index
1
Google Play Store
4
GoogleIO
3
googleplay
1
GPS
1
Gradle sync
1
Health Connect
1
Health Connect API
1
health data
1
How to build Android app
1
I/O Extended
2
I/O Extended Japan
2
Identify
1
IGF2020
6
IGF2021
9
Indie developers
1
Indie Game
16
Indie Games
1
Indie Games Festival
17
Indie Games Festival 2020
7
Indie Games Festival 2021
9
indies
5
Insights
1
Japanese
15
Japanese Developer
9
JetLagged
1
Jetpack
17
Jetpack Compose
23
Jetpack Compose 1.2
1
JetpackCompose
5
key
1
keymaster
1
keymint
1
keystore
1
Kotlin
21
Kotlin Android Extensions
1
Kotlin Beginners
3
Kotlin Symbol Processing
1
Kotlin Vocabulary
2
Large Screens
6
large_screens
1
latest
133
Learn
1
learn Android
1
lifull
1
live edit
1
Location
1
Location Data
1
Machine Learning
1
Mad Skills
3
MADSkills
3
Material Design
4
material you
4
Media
8
mikan
1
ML
1
ML Kit
1
mobile
2
Model Maker
1
Modern Android Development
1
monetization
3
multiplatform apps
1
Navigation
1
nonce field
1
notifications
2
Now in Android
27
Open source
1
Optimization
1
organization account
1
passkeys
2
people
2
People API
1
Performance
8
permissions
1
Pixel
3
Platform_Update
13
Platform_Updates
1
play
1
Play Billing
1
Play Console
21
Play Store
1
Policies
6
Policy
11
policy compliance
8
policy violations
8
privacy
29
Privacy Sandbox
2
privacy sandbox on android
1
Programming
1
provisioning
1
Requirements
3
Resources
1
safety
3
sandbox
1
Security
12
stable
1
Story
3
subscriptions
5
success stories
4
Tablets
6
tapple
1
TensorFlow
2
TensorFlow Lite
1
Testing
1
Tools
1
training
2
UI
2
UX
1
wear
1
Wear OS
15
Wearables
1
wearos
3
webinar
2
Windowinsets
1
Women in Gaming
1
Workmanager
2
ベータ版4
1
ブログ アーカイブ
2024
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2023
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2022
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
1月
2021
12月
11月
10月
9月
8月
7月
6月
5月
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
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"