Android
 Computer >> コンピューター >  >> システム >> Android

Android 14対応の最新Play Coreライブラリへの移行方法を徹底解説

最近、Google Playストアから次のようなメールを受け取った方はいませんか?

「Play Core Mavenの依存関係をAndroid 14互換バージョンに更新してください。現在お使いのPlay Coreライブラリは、targetSdkVersion 34(Android 14)と互換性がありません。Android 14では、ユーザーのセキュリティ向上のため、ブロードキャストレシーバーに後方互換性のない変更が導入されました。なお、8月31日以降、Google Playではすべての新規アプリリリースでAndroid 14をターゲットとすることが必須となります。アプリのクラッシュを防ぐため、最新のPlay Coreライブラリバージョンに依存関係を更新してください。」

さらに、このSDKバージョンのままでは、今後のアプリバージョンを本番環境やオープンテストでリリースできなくなる可能性があるとも警告されています。

一見すると非常に恐ろしい内容ですが、心配はいりません。実際には見た目よりもずっと簡単に対処できます。

変更内容の詳細

端的に言えば、Googleは2022年初頭をもって、旧Play Coreライブラリの新バージョン提供を終了しました。

最後にリリースされたPlay Coreライブラリのバージョン

そして2022年4月以降、従来のPlay Coreライブラリは以下の4つの独立したライブラリに分割されています。

  • Play Assets Deliveryライブラリ
  • Play Feature Deliveryライブラリ
  • Play In-App Reviews(アプリ内レビュー)ライブラリ
  • Play In-App Updates(アプリ内アップデート)ライブラリ

各ライブラリには、それぞれ固有の機能と役割があります。

旧Play Coreライブラリは特定のAPIレベルまでしかサポートしていないため、最新のAPIレベルに対応した新しいライブラリへ移行する必要があります。

要するに、旧Play Coreライブラリのどの機能を使用しているのかを把握し、該当するライブラリを導入するということです。例えば、アプリの新バージョンが利用可能になった際にユーザーへ通知するロジックを実装している場合は、「Play In-App Updates」ライブラリを採用することになります。

ここでは、以下の2つのユースケースについて解説します。

  • ネイティブAndroidアプリ
  • Flutterアプリ

ユースケース1:ネイティブAndroidアプリの場合

KotlinまたはJavaで書かれたネイティブAndroidアプリをお持ちの場合は、以下の手順を実行してください。

  1. アプリレベルのbuild.gradleファイルを開きます。
  2. dependenciesブロック内に、おそらく次のような記述があるはずです。
implementation 'com.google.android.play:core-ktx:1.8.1'
  1. この行を削除し、以前のCoreライブラリで使用していた機能に応じて置き換えます。
  2. Play In-App Updatesライブラリが必要な場合は、dependenciesブロックに以下を追加します。
implementation 'com.google.android.play:app-update:2.1.0'// Kotlinを使用している場合は、以下の依存関係も追加してくださいimplementation 'com.google.android.play:app-update-ktx:2.1.0'
  1. アプリを再ビルドし、すべてが正常に動作することを確認します。

✋ また、import文を import com.google.android.play.core.tasks.*; から import com.google.android.gms.tasks.*; に変更する必要がある場合もありますのでご注意ください。

ユースケース2:Flutterアプリの場合

FlutterはAndroidとiOSの両方に対応したフレームワークであるため、このシナリオは前述のケースとは少し異なります。FlutterアプリでCore Playライブラリのアップグレード警告を受け取った場合は、pubspec.yamlファイルで使用しているライブラリを確認しましょう。

dependencies: flutter: sdk: flutter ... in_app_update: ^3.0.0

上記のように、このアプリはin_app_updateライブラリに依存しています。これは、アプリの新バージョンが利用可能になった際にユーザーへ通知するためのものです。in_app_updateのpub.dev changelogページを確認すると、次のことが分かります。

バージョン4.1.0で必要なサポートが追加された

そのため、pubspec.yamlファイルを少なくともこのバージョン以上を使うように更新します。

dependencies: flutter: sdk: flutter ... in_app_update: ^4.1.0

「Pub get」を実行すれば、準備完了です。

まとめ

Google Playからの警告メールは intimidating に感じられますが、やるべきことはシンプルです。旧Play Coreライブラリのどの機能を使っているかを特定し、対応する新しい分割ライブラリに置き換えるだけです。ネイティブアプリならbuild.gradleの依存関係を更新し、Flutterアプリならpubspec.yamlでパッケージのバージョンを上げることで、Android 14へのスムーズな移行が実現できます。8月31日の期限に間に合うよう、早めの対応をおすすめします。

  1. Androidで通知を保存してリマインダーを設定する方法|おすすめアプリ2選を徹底比較

    Androidスマホにインストールするアプリが増えると、届く通知も自然と増えていきます。その大半は読まずにスワイプして消してしまうものですが、中には絶対に見逃せない重要な通知もあります。アプリごとに通知をブロックできる標準機能があるのはありがたいのですが、厄介なのは通知がこちらのタイミングを考慮してくれないこと。相手の都合で届き、自分が確認したいときには出てきてくれないのです。 こんな場面を想像してみてください。仕事で忙しい最中、「ピロンッ」と友達からメッセージの通知が届きます。「明日みんなで集まらない?」という内容です。返信したい気持ちはあるものの、今は作業に集中しているところ。でも、このま

  2. 1台のタブレットを家族や友人と快適に共有するための4つのコツ

    祝日中に家族で新しいタブレットを開封したばかりの方もいるでしょう。大学の寮のルームメイトと「テレビよりタブレットのほうが実用的」ということで共同購入した人もいれば、夫婦で1台あれば十分と判断したご家庭もあるかもしれません。どんな状況であれ、タブレットの数よりも使いたい人の数が多い状態になり、共有せざるを得なくなったはずです。ここでは、関係する全員(そしてタブレット自身も)が快適に過ごすためのコツをいくつか紹介します。注:この記事はAndroidタブレットを想定していますが、一部のコツはiPadにも応用できます。1. 複数アカウントを設定する全員が同じアプリに関心を持っているとは限りません。たと