Android 15の正式版がリリース!まずはソースコードがAOSPで公開

Googleは3日(現地時間)、スマートフォン(スマホ)やタブレットなど向けプラットフォーム「Android」の新しいバージョン「Android 15(開発コード名:VanillaIceCream)」( https://developer.android.com/about/versions/15 )の正式版をリリースしたとお知らせしています。まずはAOSP(Android Open Source Project)におけるソースコードやSDKが公開されています。

また同社が展開する「Pixel」ブランドのスマートフォン(スマホ)およびタブレットには今後数週間以内にネットワーク経由によるソフトウェア更新(OTA)が配信開始されるとし、配信開始は10月になるということです。なお、Pixelスマホ・タブレットにはすでに「Android Beta Program」( https://g.co/androidbeta )によってAndroid 15 QPR1が提供されており、先行してベータ版が試せるようになっています。

対象機種はスマホでは「Pixel 9」および「Pixel 9 Pro」、「Pixel 9 Pro XL」、「Pixel 9 Pro Fold」、「Pixel Fold」、「Pixel 8a」、「Pixel 8」、「Pixel 8 Pro」、「Pixel 7a」、「Pixel 7」、「Pixel 7 Pro」、「Pixel 6a」、「Pixel 6」、「Pixel 6 Pro」、タブレットでは「Pixel Tablet」。

さらに同社では数か月以内にSamsung ElectronicsやHonor Device、iQOO、Lenovo、Motorola Mobility、Nothing Technology、OnePlus Technology、OPPO Mobile Telecommunications、RealMe Mobile Telecommunications、Sharp、Sony、Tecno Mobile、vivo Mobile Communications、Xiaomiなどのメーカーやブランドの一部製品でもAndroid 15が提供されるようになるとしており、詳細は各メーカー・ブランドからのお知らせを参照するように案内しています。

その他、Googleでは同日よりAndroid 15に関する技術的なトピックを掘り下げていく「Spotlight Weeks」という新しい学習シリーズを開始し、Android全体に対して1週間に渡ってコンテンツが提供される予定で、すでにAndroidの開発者向け公式YouTubeチャンネル( @AndroidDevelopers )にて最初にコンテンツとしてエッジツーエッジに関する詳細な説明が掲載されています。


Android 15は現在の最新バージョンの「Android 14」の次のメジャーアップデートとなる予定のバージョンで、最近の流れである生産性の向上に役立つプラットフォームを構築するための取り組みを継続すると同時に最も多様な製品上で優れたメディア体験を生み出すほか、バッテリーへの影響を最小限に抑え、アプリのパフォーマンスを最大化してスムーズに動作するようにし、利用者のプライバシーやセキュリティーを保護するための新機能を提供するということです。

これにより、Androidを搭載することによってハイエンドなカメラ機能や強力なGPU、鮮やかなディスプレイ、AI処理などのプレミアムなハードウェアをアプリで活用できるようになり、折りたたみ式や反転式などのスマホやタブレットなどの大画面製品の需要は増え続けており、これらの価値の高い製品をより消費者に届ける機会が生まれるようになるとのこと。またAndroidではアプリがAIの最新技術を活用できるようにするためのツールとライブラリーの提供にも取り組んでいるとしています。なお、案内されている新しいトピックは以下の通り。

<開発者向けエクスペリエンスの向上>
生産性向上のための取り組みの多くはAndroid StudioやJetpack Compose、Android Jetpackライブラリーなどのツールを中心に行われていますが、Androidの新しいリリースにはそれぞれ、開発者向けのエクスペリエンス(体験)を向上させるための利便性向上アップデートが含まれています。例えば、Android 15ではアプリ体験をさらに調整するための新しい分析情報とテレメトリーが提供されるため、どのリリースでもアプリの実行方法を改善する変更を加えることができます。

・ApplicationStartInfo APIは起動にかかる時間やそれに伴う温度変化などといったアプリの起動に関する分析情報を提供するのに役立ちます。
・Android Jetpack内のProfilingクラスはAndroid 15の新しいProfilingManager APIの使用を効率化し、アプリがヒーププロファイルやヒープダンプ、スタックサンプル、システムトレースをリクエストできるようにして製品上でのアプリの実行方法に関するテレメトリーを収集する新しい方法を実現します。
・StorageStats.getAppBytesByDataType([type]) APIを使用すると、apkファイルの分割やAhead-of-Time(AOT)および高速化関連コード、dexメタデータ、ライブラリー、ガイド付きプロファイルなどといったアプリがストレージをどのように使用しているかについて新たな分析情報を得ることができます。
・PdfRenderer APIにはパスワードで保護されたファイルのレンダリングや注釈、フォーム編集、検索、コピーによる選択などの高度な機能を組み込む機能が含まれるようになりました。また線形化されたPDFの最適化がサポートされているため、ローカルでのPDF表示が高速化され、リソースの使用量が削減されます。Jetpack PDFライブラリーはこれらのAPIを使ってアプリへのPDF表示機能の追加を簡素化します。なお、古いAndroidでのリリースもサポートされる予定です。
・新しく追加されたOpenJDK APIには追加のmath/strictmathメソッドのサポート、シーケンスされたcollection/map/setを含む多くのユーティリティーの更新、DeflaterでのByteBufferサポート、セキュリティーキーの更新が含まれています。これらのAPIはGoogle Play システム アップデートを通じてAndroid 12以降からAndroid 15までを実行している10億を超える製品で更新されるため、最新のプログラミング機能を幅広く活用できます。
・新しく追加されたSQLite APIには読み取り専用の遅延トランザクションのサポート、追加のクエリを発行せずに変更された行の数や最後に挿入された行IDを取得する新しい方法および生のSQLiteステートメントの直接サポートが含まれます。
・Android 15ではCanvasを3Dで操作するのに役立つMatrix44や現在のシェーダーまたは現在のシェーダーの差を交差させることで複雑な形状を可能にするclipShader/clipOutShaderなどといった新しいCanvasの描画機能が追加されています。

<タイポグラフィーと国際化の改善>
Androidではエコシステムのグローバルな多様性に渡って適切に動作する美しいアプリの作成に役立ちます。

・Android 15ではbuildVariableFamily APIを使用してwght軸とital軸を指定しなくても可変フォントからFontFamilyインスタンスを作成できるようになりました。テキストレンダラーは表示されるテキストを互換性のあるフォントと一致させるためにwght軸とital軸の値を自動的に調整します。
・Android 15の中国語・日本語・韓国語(CJK)の言語のフォントファイル「NotoSansCJK」が可変フォントになり、クリエイティブなタイポグラフィーの新たな可能性が開かれました。
・Android 15には古い日本語のひらがな(変体仮名とも呼ばれる)フォントがデフォルトでバンドルされており、古代の日本語文書のより正確な伝達と理解を維持しながらデザインに独特の雰囲気を加えるのに役立ちます。
・Android 15のJUSTIFICATION_MODE_INTER_CHARACTERによって中国語や日本語などのセグメンテーションに空白を使用する言語の位置揃えが改善されます。

<カメラとメディアの改善>
Androidの各リリースは優れたメディアおよびカメラ体験を利用者に提供するのに役立ちます。

・HDRコンテンツとSDRコンテンツの両方を含む画面の場合にAndroid 15ではsetDesiredHdrHeadroomを使ってHDRヘッドルームを制御し、SDRコンテンツが色褪せたように見えないようにすることができます。
・Android 15では音量メタデータを含むAACオーディオコンテンツを使用するアプリのオーディオ音量とダイナミックレンジ圧縮レベルをインテリジェントに調整し、オーディオレベルを使っている製品や周囲の環境に適応させることができます。これを有効にするには関連付けられているAudioTrackのオーディオセッションIDを使用してLoudnessCodecControllerをインスタンス化します。
・Android 15の低照度ブーストは暗い場所でのプレビューストリームの露出を調整して画像のプレビューを強化したり、暗い場所でのQRコードのスキャンなどを可能にします。
・Android 15の高度なフラッシュ強度調整によって画像の撮影中にSINGLEモードとTORCHモードの両方でフラッシュ強度を正確に制御できます。
・Android 15ではUniversal MIDI Packetsのサポートが仮想MIDIアプリに拡張され、作曲アプリがUSB MIDI 2.0の場合と同じようにシンセサイザーアプリを仮想MIDI 2.0として制御できるようになります。

<ユーザーエクスペリエンス(UX)の向上>
パフォーマンスとバッテリー寿命の改善に取り組みながらリリースごとに AndroidのUXを改良し続けています。より直感的かつ高性能、そしてアクセスしやすいものにするためにAndroid 15がもたらした機能の一部を紹介します。

・お気に入りの分割画面アプリの組み合わせを保存して素早くアクセスしたり、タスクバーを画面に固定してアプリを素早く切り替えたりできるため、Android 15では大画面でのマルチタスク処理が向上します。アプリが適応性を備えていることを確認することはこれまで以上に重要です。
・Android 15ではSDK 35をターゲットとする場合にデフォルトでアプリが端から端まで表示されます。またシステムバーは透明または半透明になり、コンテンツはデフォルトで背後に描画されます。アプリの準備ができていることを確認するには「インセットを使用してオーバーラップを処理する」(ビュー)または「Composeのウィンドウインセットを確認してください。またMaterial 3コンポーザブルの多くはインセットの処理に役立ちます。
・Android 15では「TalkBack」がUSBとセキュアなBluetoothの両方でHID標準を使用する点字ディスプレイをサポートできるようになり、Androidがより幅広い点字ディスプレイをサポートできるようになります。
・サポートされているAndroid 15搭載製品ではNfcAdapterによってアプリは監視モードをリクエストしたりフィルターを登録したりできるため、多くの場合に複数のNFC対応アプリ間でワンタップトランザクションが可能になります。
・アプリはサポートされている反転可能な製品の小さなカバー画面にアプリまたはアクティビティーを表示できるようにするためのプロパティーを宣言できます。
・Android 15ではAutomaticZenRulesが大幅に強化され、タイプやアイコン、トリガーの説明、ZenDeviceEffectsをトリガーする機能を追加することぶちってアプリが注意管理(サイレント)ルールをさらにカスタマイズできるようになりました。
・Android 15ではアプリのアーカイブとアーカイブ解除に対するOSレベルのサポートが追加されました。アーカイブすると、APK(インストール)ファイルとキャッシュファイルは削除されますが、ユーザーデータは保持され、LauncherApps APIを通じて表示可能なアプリが復元されます。また元のインストーラーはアーカイブ解除のリクエストに応じてアプリを復元できます。
・Android 15ではバッテリー持ちとマルチタスク性能を改善するための取り組みの一環としてフォアグラウンドサービスが変更されています。これにはデータ同期タイムアウト、新しいメディア処理フォアグラウンドサービスタイプ、BOOT_COMPLETEDからのフォアグラウンド サービスの起動とアプリがSYSTEM_ALERT_WINDOW権限を保持している間のフォアグラウンドサービスの起動の制限などが含まれます。
・Android 15以降では開発者オプションとして一部の製品で16KBのページサイズのサポートが利用可能になります。Androidがこの大きなページサイズを使用すると、初期テストでは約9%の追加メモリーを使用しながら全体的なパフォーマンスが5〜10%向上することが示されています。

<プライバシーとセキュリティーの強化>
プライバシーとセキュリティーはGoogleのあらゆる活動の中核であり、プラットフォームのリリースごとにアプリと利用者を保護するための有意義な改善に取り組んでいます。

・Android 15のプライベートスペースを使用すると、利用者は製品上に別のスペースを作成して追加の認証レイヤーを使って機密性の高いアプリを詮索好きな目から守ることができます。医療アプリやランチャーアプリ、アプリストアなどの一部の種類のアプリではプライベートスペースで期待通りに機能するために追加の手順が必要になる場合があります。
・Android 15では1回のタップでパスキーを使用してサインインできるほか、保存した認証情報を関連する入力フィールドに自動入力する機能もサポートされています。
・Android 15ではアプリが録画されていることを検出するためのサポートが追加され、アプリが機密性の高い操作を実行している場合に、録画されていることをユーザーに通知できるようになりました。
・Android 15ではタスクハイジャック攻撃を防ぐためにスタックの最上位UIDと一致しないアプリによるアクティビティーの起動をブロックするallowCrossUidActivitySwitchFromBelow属性が追加されました。
・Android 15ではPendingIntent作成者はデフォルトでバックグラウンドアクティビティーの起動をブロックして悪意のある者によって悪用される可能性のあるPendingIntentをアプリが誤って作成するのを防ぎます。


開発者向けオプションのアプリ互換性切り替え

Googleではアプリの互換性を優先することによってプラットフォームのリリースごとにアップデートをより迅速かつスムーズに行えるよう取り組んでおり、Android 15ではアプリがSDK 35をターゲットにするまでアプリ関連のほとんどの変更をオプトインにしています。これにより、必要なアプリの変更を行う時間が増えます。

またアプリに影響する可能性のあるオプトインの変更をより簡単にテストできるように開発者のフィードバックに基づいて今年も多くのオプトイン変更を切り替え可能にしており、切り替えによって開発者向けオプションまたはadbから個別に変更を強制的に有効または無効にすることができます。方法についてはこちらをご覧ください。

アプリ開発者はSDKやライブラリー、ツール、ゲームエンジンを開発している場合は下流のアプリやゲームの開発者が互換性の問題でブロックされないようにし、最新のSDKをターゲットにできるように必要なアップデートをすぐに準備することが特に重要で、Android 15を完全にサポートするためにアップデートが必要な場合はそれらの開発者にお知らせください。

アプリをテストするにはGoogle Playなどの手段を使ってAndroid 15を実行している製品またはエミュレーターに製品版アプリをインストールする必要があり、アプリのすべてのフローを調べて機能またはユーザーインターフェース(UI)の問題を探します。その後、動作を確認してテストを行い、Android 15をまだターゲットにしていない場合でも適用される以下のような考慮すべき変更点がいくつかあります。

・パッケージ停止状態の変更:Android 15ではパッケージ「FLAG_STOPPED」状態の動作が更新され、利用者がアプリを起動するか間接的に操作するまでアプリが停止された状態が維持されるようになっています。
・16KBページサイズのサポート:Android 15以降では16KBページサイズのサポートが開発者向けオプションとして一部の製品で利用できるようになります。さらにAndroid StudioではSDKマネージャーを通じて16KBページサイズをサポートするエミュレーターシステムイメージも提供しています。アプリまたはライブラリーが直接またはライブラリーを介して間接的にNDKを使用している場合はAndroid 15 QPR(ベータ版)の開発者向けオプションまたはAndroid 15のエミュレーターシステムイメージを使用してアプリをテストして修正し、近い将来に 16KBページサイズを備えたAndroid製品に対応できるように準備できます。
・プライベートスペースのサポート:プライベートスペースにインストールしたときにアプリやライブラリーが機能することをテストします。医療アプリやランチャーアプリ、アプリストアに関するガイダンスがあります。
・従来の絵文字フォントファイルを削除しました:Pixelなどの一部のAndroid 15搭載製品ではAndroid 13以降の互換性のために含まれていたビットマップフォントファイル(NotoColorEmojiLegacy.ttf)がなくなり、デフォルトのベクターフォントファイルのみが含まれるようになります。

互換性テスト中はアプリが使っているライブラリーとSDKを徹底的に試してください。問題が発生した場合は最新のSDKバージョンに更新するか、開発者に問い合わせてサポートを受ける必要がある場合があります。Android 15に互換性のあるバージョンのアプリを公開したらアプリのtargetSdkVersionを更新するプロセスを開始できます。またアプリをAndroid 15に移行できるように最新のAndroid Studio Koala Feature Dropにおけるリリース内のAndroid SDKアップグレードアシスタントではAndroid 15 APIの変更点がカバーされ、targetSdkVersionをアップグレードする手順が説明されるようになりました。


Android Studio KoalaのAndroid SDKアップグレードアシスタント




記事執筆:memn0ck


■関連リンク
・エスマックス(S-MAX)
・エスマックス(S-MAX) smaxjp on Twitter
・S-MAX - Facebookページ
・Android 15 関連記事一覧 - S-MAX
・Starting today, we're kicking off a new educational series called Spotlight Weeks
・Android 15  |  Android Developers
・Android Open Source Project