メインコンテンツへスキップ
【Unity】Fragment_has_reported_version_1.0.0_as_outdatedエラーの修正方法を解説
  1. Posts/

【Unity】Fragment_has_reported_version_1.0.0_as_outdatedエラーの修正方法を解説

目次

Unityでゲームアプリ開発をされている方向け。

Google play storeでリリースビルドをアップロードしたところ、SDKに関するエラーがありアプリの更新ができませんでした。

今回色々と調査し、無事問題が解消できたので備忘録として本記事を執筆したいと思います。

この記事は以下のような方を対象者としています。

  • Unityでゲームアプリ開発をしている方
  • Fragment outdatedエラーの解消方法を知りたい方

今回発生した事象の概要
#

まずは今回発生したエラーの概要について説明します。

Unity上でビルドを行い、生成されたリリースビルド(aabファイル)をGoogle Developer Consoleにアップロードしリリースをしました。

その後、Google Developer Consoleのダッシュボードを確認すると、SDK issuesというエラーが表示されていることを確認しました。

Alt text

Fragment outdated エラーの根本原因
#

どうやらリリースビルドに含まれるandroidx.fragmentのSDKのバージョンが非推奨となっているようでした。

この状態では脆弱性があるアプリとみなされ、リリースビルドを更新してもGoogle playからレビューされない(つまり、アプリの更新ができない)状態であることがわかりました。

Fragment outdated エラーの解消方法
#

本問題を解消するためには、androidx.fragment SDKのバージョンをアップデートする必要があります。

まずは、Unity->File->Build Settingsを開きましょう。

Alt text

そのまま画面左下にあるPlayer Settingsを開きます。

Alt text

そして、少し下にスクロールしBuildの項目内のCustom Main Gradle Templateという項目にチェックを入れます。

Alt text

チェックを入れることで、プロジェクトフォルダ内Assets->Plugins->Androidフォルダ配下にmainTemplate.gradleファイルが生成されます。

Alt text

(自分の場合はすでにチェックを入れてmainTemplate.gradleファイルが存在していたので、一度ファイルを手動で削除してチェックを入れて再生成しました。)

Alt text

その後、mainTemplate.gradleファイルを開き、dependenciesというオブジェクト内に下記コードを追記します。

dependencies {
    def fragment_version = "1.5.7"
    implementation "androidx.fragment:fragment:$fragment_version" 
**DEPS**}

Android Developers公式では、安定版リリースは1.8.2となっていますが、自分の場合こちらを指定するとビルド時にtransformエラーが発生しビルドに失敗したので1.5.7を指定しました。

これでビルドが成功すれば、Google Developer Consoleからのエラーアラートも消えることを確認しています。

関連記事

【失敗談】広告収入のため個人でゲームアプリを開発した結果
【個人開発者必見】ゲーム開発に役立つおすすめツール3選
【超簡単】unity2dで衝突時に画像を切り替える方法をわかりやすく解説