このシリーズでは、Android と Google Play の製品情報で、日本の皆さんに特に重要な記事を見やすくお届けするために、 グローバルで発表された 2 週間分のブログ記事の URL を、1 つのブログ記事にまとめます。
*リンク先は英語の記事になります。お手数ですが Chrome ブラウザの翻訳機能などを使って、投稿を日本語でご確認ください。
Android
8 月 27 日に配信した #TheAndroidShow の夏のエピソードをご覧ください (Tune in for our summer episode of #TheAndroidShow on August 27!)
Android への 16KB ページサイズの追加 (Adding 16 KB Page Size to Android)
#TheAndroidShow: ウェアラブル、折りたたみスマートフォン、Gemini など、Made by Google の最新情報を詳しくご紹介 (#TheAndroidShow: diving into the latest from Made by Google, including wearables, Foldable, Gemini and more!)
Google Pixel のレコーダー アプリが、Gemini Nano 搭載機能によりエンゲージメントが 24% 向上 (The Recorder app on Pixel sees a 24% boost in engagement with Gemini Nano-powered feature)
Instagram が Ultra HDR を早期導入、わずか 3 か月でユーザー体験を刷新 (The Recorder app on Pixel sees a 24% boost in engagement with Gemini Nano-powered feature)
Now in Android #109 (Now in Android #109)
Google Devs Japan の X (旧 Twitter) を
フォローして、今後のアップデートをお見逃しなく!
Posted by Tamao Imura - Google Developer Marketing Manager, Japan
Google AI Studio を使った Android アプリにおける 3 つの楽しい試み (3 fun experiments to try for your next Android app, using Google AI Studio)
Now in Android #108 (Now in Android #108)
Google Play
#WeArePlay | オーストラリアでゲームやアプリを開発する方々をご紹介します (#WeArePlay | Meet the people creating apps and games in Australia)
#WeArePlay | LGBTQIA+ コミュニティのためのアプリ開発を行う創業者の 4 つのストーリー (#WeArePlay | 4 stories of founders building apps for the LGBTQIA+ community)
Google Devs Japan の X (旧 Twitter) をフォローして、今後のアップデートをお見逃しなく!
Google I/O '24 で発表された Compose から フォーム ファクタまでの 3 つのアップデート情報 (Top 3 Updates with Compose across Form Factors at Google I/O '24)
すべてのフォーム ファクタで Jetcaster を構築する (Building Jetcaster on all Form Factors)
Now in Android #107 (Now in Android #107)
Jetpack Compose を使用し、30% 速く adidas CONFIRMED の機能を構築 (Developers for adidas CONFIRMED build features 30% faster using Jetpack Compose)
Max が Jetpack Compose でUI 変更を 30% 速く実装 (Max implemented UI changes 30% faster using Jetpack Compose)
Android 15 ベータ版 3 (The Third Beta of Android 15)
Google Play での安全な AI 体験を可能にする (Enabling safe AI experiences on Google Play)
I/O '24 で発表された Google Play について知っておきたい 3 つのアップデート情報 (3 must-know updates from Google Play at I/O '24)
KotlinConf 2024 における Google からの最新情報 : KMP などのマルチ プラットフォーム開発の詳細 (Google @ KotlinConf 2024: A Look Inside Multiplatform Development with KMP and more)
予測型「戻る」(Views) についてのデベロッパー向けロードマップ (A Developer’s Roadmap to Predictive Back (Views))
Google I/O '24 で発表された素晴らしいアプリを開発するための 3 つのアップデート (Top 3 Updates for Building Excellent Apps at Google I/O ‘24)
Now in Android #106 (Now in Android #106)
Firebase の Android デバイス ストリーミングがベータ版に (Android Device Streaming, powered by Firebase, is now in Beta)
Google I/O '24 で発表された Android 開発で AI を活用するための 3 つのアップデート情報 (Top 3 Updates for Building with AI on Android at Google I/O ‘24)
#WeArePlay | Zülal さんが AI を使ってどのように視力の弱い人々をサポートしているか学ぶ (#WeArePlay | How Zülal is using AI to help people with low vision)
Jetpack Compose コンパイラが Kotlin リポジトリに移動 (Jetpack Compose compiler moving to the Kotlin repository)
Gemini in Android Studio など : Android Studio Jellyfish が安定版に (Gemini in Android Studio and more: Android Studio Jellyfish is Stable!)
Android におけるヘルスの進化 : Google Fit API から Android Health への移行 (Evolving Health on Android: Migrating from Google Fit APIs to Android Health)
Navigation Compose と型安全 (Navigation Compose meet Type Safety)
Google Play のアプリの品質条件を満たすための Wear OS アプリ向けのツールとライブラリ (Tools and libraries to help your Wear OS app satisfy Google Play app quality requirements)
Now in Android #104 (Now in Android #104)
Android Studio のより迅速で集中的なアップデート (More frequent, focused updates for Android Studio)
Google Play SDK Console でより良く、安全な SDK を利用する (Build better, safer SDKs with Google Play SDK Console)
Android / Google Play
Google I/O をお楽しみに : プログラム ラインナップが公開 (Get ready for Google I/O: Program lineup revealed)
Android 15 の最初のベータ版 (The First Beta of Android 15)
アプリ機能のバッテリー消費を効果的に A/B テストする方法 (How to effectively A/B test power consumption for your Android app’s features)
Now in Android #103 (Now in Android #103)
なりすまし詐欺への対策 : Monzo 社の革新的なアプローチ (Battling Impersonation Scams: Monzo’s Innovative Approach)
Now in Android #102 (Now in Android #102)
Android Studio は Android 開発をより早く、簡単にするため Gemini Pro を使用しています (Android Studio uses Gemini Pro to make Android development faster and easier)
Jetpack Compose と新しいアーキテクチャでコードと開発時間を半分にした Google ドライブの事例 (Google Drive cut code and development time in half with Jetpack Compose and new architecture)
Compose での依存関係インジェクション (Dependency Injection in Compose)
Posted by Mari Kawanishi - Developer Marketing Manager, Google Play
Android 15 デベロッパー プレビュー 2 (The Second Developer Preview of Android 15)
Now in Android #101 (Now in Android #101)
#WeArePlay | 女性史月間のストーリー : 女性の人生を変えた創業者をご紹介します (#WeArePlay | Meet the founders changing women's lives: Women’s History Month Stories)
5 月 14 日に Google I/O をご視聴ください (Tune in for Google I/O on May 14)
今年の Google I/O はいかがでしたか?まだチェックしていない方は忘れずに Google 基調講演、デベロッパー基調講演、What's new in Android の 3 つのセッションをぜひご覧ください(※ 3 つとも日本語字幕対応)。美しいリップル(波紋)効果やストレッチ オーバースクロールを含む Android 12 Beta 1 、7 月に 1.0 の安定版になる Jetpack Compose、Material You の発表、ベータ版になった Android Studio Arctic Fox、Android デベロッパーに最も使われている言語である Kotlin(トップ 1,000 アプリの 80% が使用)や、Jetpack ライブラリがトップ 10,000 アプリのうち 84% 以上で使われている現状などをすべて確認できます。
まだご覧になっていない方は、ぜひご覧ください。また、この記事では皆さんが見逃してしまったかもしれないニュースをご紹介しましょう。今年の I/O のセッションはすべて日本語字幕に対応していますので、ぜひ切り替えてご覧ください。
What’s new in Jetpack セッションとブログ記事(英語)の要点は、CameraX、Hilt、Paging 3、ConstraintLayout、MotionLayout、Security Crypto、そして Fragment ライブラリが安定版に移行したことです。DataStore と Compose は現在ベータ版です。そして、Jetpack に以下の新しいライブラリが加わります。
さらに、WorkManager の新バージョンで現在アルファ版の 2.7 は、Android S SDK がターゲットになっており、プラットフォームの新しいフォアグラウンド制限が追加でサポートされています。詳しくは、Effective background tasks on Android セッションをご覧ください。
また、Navigation ライブラリを使っている方は、最新のアルファ版で複数のバックスタックがサポートされているので、ご確認ください。
Jetpack Compose が 7 月に 1.0 の安定版になるので、誰もが心躍らせていることでしょう。しかし、Compose を採用するときに、望まないのであれば、アプリのアーキテクチャを変更する必要はないことはご存知でしょうか。詳しくは、Using Jetpack libraries in Compose のセッションをご覧ください。Compose は、Navigation、Kotlin フロー、Hilt など、特に人気のあるライブラリに組み込めるようになっています。
さらに、Compose ではマテリアル デザインの実装も提供されます。その機能を活用する方法については、Build beautiful Material Design apps with Jetpack Compose セッションをご覧ください。
2 つの新しい Codelab も公開されています。Compose Navigation と Compose のテストです。Compose について体系的に学習する場合は、こちらのラーニングパスとワークショップをご覧ください。初めての Compose アプリを構築する方法を動画形式で基礎から説明しています。
Android 12 の最初のベータ版には、Android 5.0 でマテリアル デザインが導入されて以降、最大のデザイン変更が含まれています。これには、システムのテーマを使ってウィジェットに適用するダイナミック カラーなど、アプリ ウィジェットの動作の仕組みと外観の大幅な更新が含まれています。詳しくは、Refreshing widgets セッションをご覧ください。
また、システム全体にストレッチ オーバースクロール効果が新しく導入されますが、これは 1 つのスクロール コンテナにしか適用されないので、アプリの動作がどのようになるかを確認しておきましょう。
Android 12 で Bluetooth デバイスをスキャンするアプリは、neverForLocation 属性付きの新しい BLUETOOTH_SCAN パーミッションがあれば、位置情報パーミッションは必要なくなります。これにより、アプリの煩雑さが軽減されるだけでなく、LOCATION パーミッションが必要なアプリの数も減ることになります。
neverForLocation
BLUETOOTH_SCAN
LOCATION
位置情報と言えば、FINE_LOCATION パーミッションをリクエストした場合でも、ユーザーはアプリにおおよその位置しか渡さないように設定できるようになります。
FINE_LOCATION
Beta 2 に導入する予定のたくさんの新しいプライバシー機能についてもお知らせしました。ユーザーに表示されるプライバシー ダッシュボード、新しいマイクとカメラのインジケーターと切り替え機能、クリップボード読み取り通知などです。Android 12 におけるプライバシー関連のすべての変更については、What’s new in Android privacy セッションをご覧ください。
今回のベータ版には、パフォーマンス クラスも導入されています。これは、要求の厳しいユースケースや高品質のコンテンツをサポートできるデバイス向けの一連の機能で、現在は主にメディア機能を対象としています。
Android 12 Beta 1 は、エミュレータ、Pixel 3 以降のデバイス、またはデバイス パートナーが発売しているデバイスの一部で試すことができます。
たくさんの新機能が搭載された Android Studio Arctic Fox が Beta チャンネルで公開されています。Compose のサポート、Compose 開発を加速させるすばらしいツール、Layout Inspector の Compose サポート、組み込みのユーザー補助スキャナなどの機能が搭載されています。それだけでなく、折りたたみ式デバイスのエミュレータ、Android TV リモコン、Wear OS のペア設定ウィザードなど、サポート対象のデバイスも増えています。また、生産性を飛躍的に向上させるため、Background Tasks Inspector や Kotlin コルーチン デバッガ、Kotlin Symbol Processing のサポートも Android Studio に追加されました。
これらすべて、さらにその他の機能も、What's new in Android Development tools セッションでご紹介しています。
ConstraintLayout と MotionLayout の改善についてのさらに詳しい情報や、Android Studio で利用できる Compose ツールについては、What's new in design tools セッションをご覧ください。
Android 開発コミュニティで、Kotlin が採用される数が増えています。State of Kotlin on Android セッションの中で特にお伝えしておきたい新機能が、Kotlin Symbol Processing と、UI レイヤーからフローを収集する新しいライフサイクル API です。
Kotlin Symbol Processing(KSP)は、高速のビルドと、Kotlin エコシステムで最高級のシンボル処理を目指しています。KAPT による Java スタブ生成と、それに伴う長いビルド時間は不要になります。KSP は Kotlin コンパイラに組み込まれており、すべての Kotlin シンボルへのアクセスを提供します。また、KSP はベータ版に到達し、API サーフェスが確定しました。現在 KAPT を使っているプラグイン作成者の皆さんは、ぜひ KSP への移行を始めてください。私たちの Jetpack Room ライブラリもベータ版として KSP をサポートした結果、KAPT に比べて処理が 2 倍高速になりました。KSP についての話題は、先日の ADB ポッドキャストでも取り上げました。詳しく知りたい方は、ぜひお聴きください。
lifecycle-runtime-ktx ライブラリの最新版には、ライフサイクルに対応した repeatOnLifecycle API が含まれています。この API は、ライフサイクルがある状態に到達した場合やその状態を下回った場合に、コードブロックをキャンセルしたり再開したりします。この動作は、ビューがバックグラウンドにある場合に実行を停止してアップストリームのフローをアクティブに保つ launchWhenStarted API とは異なります。新しい API を使うと、特定のシナリオでリソースを無駄に消費しなくなるので、アプリの効率を高めることができます。
lifecycle-runtime-ktx
repeatOnLifecycle API
launchWhenStarted
この API によって、Android アプリのすべてのレイヤーで Flow を使うための完全なストーリーができあがりました。詳しくは、Migrating from LiveData to Kotlin’s Flow のブログ記事をご覧ください。
タブレット、Chrome OS デバイス、折りたたみ式デバイスなどの大画面デバイスをターゲットにしやすくするためのたくさんの機能をお知らせしました。たとえば、アップデートされた折りたたみ式対応の SlidingPaneLayout を使うと、一覧/詳細ビューを簡単に実装できます。また、横向き大画面用の新しい垂直ナビゲーション レール コンポーネントや、Button、TextField、Sheet のような極端に引き延ばされることが多いマテリアル コンポーネントの最大幅の値を導入し、新しいガイダンスも提供しています。詳しくは、こちらのセッションをご覧ください。
SlidingPaneLayout
Wear の次期バージョンが登場します。そこで、プレビュー エミュレータ システム イメージ、Android Studio から簡単に Wear エミュレータと他のデバイスをペア設定できるペア設定アシスタント、バーチャル心拍数センサーなどの新しいツールを準備しています。Ongoing Activities API とタイルによって、ユーザーがアプリとインタラクションを行う方法がさらに増えます。Samsung との共同作業で作成した新しいヘルスサービス プラットフォームは、現在アルファ版として組み込むことができます。また、カーブしたテキスト、ウォッチフェイス、ウォッチフェイスの追加機能、リモート インタラクションなど、Wear 向けの開発を容易にするその他の新しい Jetpack API も準備しています。詳しくは、Now is the time: What's new with Wear セッションで解説しています。
Android TV では、Cast Connect でストリームの転送と拡張が可能になり、Android 11 を実行する新しいエミュレータが利用できるようになりました。また、ADT-3 デバイスでは Android 12 Beta 1 を利用できます。8,000 万台を超えるアクティブな TV デバイスで稼働する Android の詳細については、What's new in Android TV and Google TV セッションをご覧ください。
Android に、アップデート可能な完全統合型の ML 推論スタックが搭載されることをお知らせしました。つまり、TensorFlow Lite for Android(TFLite)と Neural Networks API(NNAPI)が Google Play 開発者サービスを使って提供されるようになります。そのため、アプリの APK サイズを削減でき、新しい APK を公開しなくても、最新の高パフォーマンスなバージョンを活用できます。TFLite と NNAPI、そして関連するチップセット向けのドライバは、プラットフォームのバージョンとは独立してアップデートされるので、Android エコシステム全体でドライバと API の一貫性が向上します。また、TFLite 2.3 に互換性リストが追加され、どの部分を GPU やアクセラレータで実行するとモデルを高速化できるかがわかるようになっています。そのリストやモデルが提供するメタデータを使って、CPU、GPU、他のアクセラレータ バックエンドのどれで実行するかを判断する Automatic Acceleration についてもお知らせしました。Android のオンデバイス ML の新機能については、What's new in Android Machine Learning セッションをご覧ください。
これまで、CI サーバーで合格するテストがローカルの Android Studio では失敗する、あるいはその逆の事象を見たことがある方もいるかもしれません。このようなことが起きると、テストの信頼性が失われ、生産性に明らかな影響が出る可能性があります。その原因の 1 つは、Android Studio と Android Gradle プラグインが異なるバージョンの Android インスツルメント テストランナーを実装していることです。Android Studio Arctic Fox では、Android Studio のすべてのテストが Android Gradle プラグインで実行されるので、動作の一貫性が保たれます。
プロジェクト Nitrogen がどうなっているのか、気になっている方も多いでしょう。Nitrogen はもう存在しません。代わりに、統合テスト プラットフォーム(UTP)が登場しています。これは拡張可能なテスト実行環境で、Android Studio と Android Gradle プラグインから大規模な Android テストを実行します。
UTP によって実現できる機能の 1 つが、Gradle が管理する仮想デバイスです。これにより、Gradle DSL を使ってデバイスを定義できるようになります。もう 1 つの機能は、複数のデバイスで並列にテストを実行することにより、テスト実行の拡張性を向上させる機能です。さらに、テストが失敗したときのエミュレータのスナップショットを取得し、後ほどその状態を復元して何がうまくいかなかったのかを調査できるようにする機能もあります。
テストの詳細については、What's new in Android testing tools セッションをご覧ください。
I/O ではゲーム デベロッパー向けの内容はそれほど多くありませんでしたが、その大きな理由は、7 月 12-13 日に Google for Games Developer Summit の開催を予定していることです。登録は無料です。I/O では語られなかったゲーム開発に関するセッションをお届けする予定です。
長年にわたって、ポリシー、ポリシーの変更、ポリシー違反への対応について多くの質問が寄せられてきました。そのご要望にお答えして、Google Play Console に新しいポリシーとプログラムのセクションで、ポリシーとその適用情報が 1 か所で確認できるようになりました。
また、Google Play に新しい SDK コンソールが導入され、SDK プロバイダが非準拠や古い SDK バージョンなどの問題を報告できるようになります。AppBundle で公開する場合、Android Gradle プラグイン 4.0 以降では、アプリのどの SDK に依存関係があるかを自動的に報告できます。これにより、Play で SDK のアップデートが推奨される場合に通知などを行えるようになります。今年中には、アプリに適切な SDK を選択する際に役立つ新しいウェブサイトが Play に登場する予定です。
Play Billing 4.0 ライブラリのリリースにより、複数の数量の購入や、複数のプロダクトを 1 つのサブスクリプションの一部としてまとめるマルチライン サブスクリプションなどの新機能を利用できるようになります。既存の課金対応アプリは、今年の 11 月 1 日までに、少なくとも以前の Play Billing 3.0 ライブラリにアップデートする必要があります。新規アプリは、8 月 2 日までに Play Billing 3.0 以降に移行する必要があります。
ADB エピソード 163 では、Android グラフィック チームの Nat Duca と Sumir Kataria とADB チームで、シェーダー、GPU、Vulkan、OpenGL、ANGLE、ドライバ、ぼかし、ピクセルなどのトピックについてのトークをお届けします。もちろん、Chet のお気に入りの「色」についての話も登場します。
エピソード 164 は、Jetpack Compose について取り上げる新しい連載ミニシリーズ「AD/BC」の初回です。このシリーズでは、Android の未来の UI ツールキットについて、さまざまなトピックを掘り下げます。今回は、Nick と Chet が Adam Powell と Leland Richardson に、Compose のコンパイラやランタイム、データフローについて、そして Compose がデータの状態の変化に応じて Composable を呼び出すタイミングを判断するという素敵な機能について話を聞きました。
今回は以上です。今年の Google I/O はお楽しみいただけましたでしょうか。Jetpack、Android 12 とプライバシー、ツール、Kotlin、大画面、Wear OS、Android TV、オンデバイス機械学習、テスト、ゲーム開発、Google Play といったさまざまな最新情報が満載でした。グラフィックと Compose のポッドキャストもお聴きください。次回も Android デベロッパーの世界の最新アップデートをお届けします。お楽しみに。