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

アプリを Android 14 と互換性のある最新の Play コア ライブラリに移行する

アプリを Android 14 と互換性のある最新の Play コア ライブラリに移行する

最近、Google Play ストアから次の内容のメールを受け取った可能性があります:

Play Core Maven の依存関係を Android 14 と互換性のあるバージョンに更新してください。現在の Play Core ライブラリは、targetSdkVersion 34 (Android 14) と互換性がありません。これにより、ユーザーのセキュリティを向上させるためにブロードキャスト レシーバーに下位互換性のない変更が導入されます。 8 月 31 日以降、Google Play ではすべての新しいアプリのリリースが Android 14 をターゲットとすることが必須となります。アプリのクラッシュを回避するには、Play Core ライブラリの最新バージョンの依存関係に更新してください。 https://developer.android.com/guide/playcore#playcore-migration

この SDK バージョンを使用したアプリの将来のバージョンを運用環境またはオープン テストにリリースできなくなる可能性があります。

怖そうですよね?

心配しないでください。実際は、見た目よりも簡単です。

変更の実際の内容

基本的に、Google は 2022 年の初めに Play コア ライブラリの新しいバージョンのリリースを停止しました。

アプリを Android 14 と互換性のある最新の Play コア ライブラリに移行する Play コア ライブラリの最後のバージョンがリリースされました

そして 2022 年 4 月からは、元の Play コア ライブラリを 4 つの個別のライブラリに分割しました。

  • Play アセット配信ライブラリ
  • Play 機能配信ライブラリ
  • Play アプリ内レビュー ライブラリ
  • アプリ内アップデート ライブラリをプレイする

各ライブラリには独自の機能と責任があります。

古いコア Play ライブラリは特定の API レベルまでしかサポートしていないため、最新の API レベルをサポートする新しいライブラリを使用するにはアプリケーションを移行する必要があります。

基本的に、オリジナルのコア プレイ ライブラリのどの機能を使用しているかを把握し、正しい部分をダウンロードする必要があります。たとえば、アプリケーションの新しいバージョンが利用可能になったときにユーザーに通知するロジックがある場合は、Play In-App-Updates ライブラリを使用する必要があります。

ここでは 2 つの使用例を紹介します。

  • ネイティブ Android アプリケーション
  • フラッターアプリケーション

使用例 – ネイティブ Android アプリ

ネイティブ Android アプリケーションがある場合は、それが Kotlin で書かれているか Java で書かれているかに関係なく、次の操作を行う必要があります。

<オル>
  • アプリケーション レベルの build.gradle ファイルを開きます
  • おそらく、依存関係ブロックの下に次の行が表示されると思います。
  • implementation 'com.google.android.play:core-ktx:1.8.1'
    
    <オル>
  • これを削除し、以前のコア ライブラリで使用したものに応じて置き換える必要があります。

  • Play In-App-Updates ライブラリを取得する必要がある場合は、これらを依存関係ブロックに追加する必要があります。

  • implementation 'com.google.android.play:app-update:2.1.0'
    //Add the dependency below if you are using Kotlin in your application
    implementation 'com.google.android.play:app-update-ktx:2.1.0'
    
    <オル>
  • アプリケーションを再構築し、すべてが正常に動作することを確認します。
  • import com.google.android.play.core.tasks.*; からインポート ステートメントを変更する必要がある場合もあります。 com.google.android.gms.tasks.* をインポートする .

    ユースケース – Flutter アプリケーション

    Flutter は Android と iOS の両方に対応するフレームワークであるため、このシナリオは上記のシナリオとは少し異なります。 Flutter アプリケーションのコア Play ライブラリをアップグレードするようにという警告が表示された場合は、pubspec.yaml ファイルで使用しているライブラリを確認する必要があります。

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

    上でわかるように、アプリケーションはin_app_update に依存しています。 これは、アプリケーションの新しいバージョンが利用可能になったときにユーザーに通知することに関係しています。 in_app_update の pub.dev 変更ログ ページに移動すると、次のことがわかります。

    アプリを Android 14 と互換性のある最新の Play コア ライブラリに移行する バージョン 4.1.0 では、必要なサポートが追加されました

    したがって、(少なくとも) そのバージョンを使用するように pubspec.yaml ファイルを更新する必要があります。

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

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

    無料でコーディングを学びましょう。 freeCodeCamp のオープンソース カリキュラムは、40,000 人以上の人々が開発者としての職に就くのに役立ちました。始めましょう


    1. SOLID 原則の紹介

      Kriptofolio アプリ シリーズ - パート 1 ソフトウェアは常に変化の状態にあります。各変更は、プロジェクト全体に悪影響を与える可能性があります。したがって、重要なことは、すべての新しい変更を実装する際に発生する可能性のある損害を防ぐことです. 「Kriptofolio」(以前の「My Crypto Coins」)アプリを使用して、新しいコードを段階的に作成していきますが、それを良い方法で開始したいと考えています。私は自分のプロジェクトが確かな品質であることを望んでいます。まず、最新のソフトウェアを作成するための基本原則を理解する必要があります。それらはSOLID原則と呼ばれま

    2. TaskerなしでAndroidを自動化する簡単でルート以外の方法

      AndroidがiOSより優れている理由の1つは、Androidがユーザーに提供する制御の量です。 Androidを思いどおりに動作させることができます。実際、好きなことを伝えたり、特定のプロセスを自動化したりすることもできます。 Androidには自動化アプリが不足していませんが、Taskerはそれらすべてのリーダーです。とはいえ、最近の更新にもかかわらず、Taskerのインターフェースは使いにくいと感じています。さらに、Androidデバイスをroot化する必要があります。ここMakeUseOfの一部の技術オタクでさえ、面倒すぎたためにアプリを放棄しました。 自動化があなたの生活を楽に