Unityでゲームアプリ開発をされている方向け。
Google play storeでリリースビルドをアップロードしたところ、SDKに関するエラーがありアプリの更新ができませんでした。
今回色々と調査し、無事問題が解消できたので備忘録として本記事を執筆したいと思います。
この記事は以下のような方を対象者としています。
- Unityでゲームアプリ開発をしている方
- Fragment outdatedエラーの解消方法を知りたい方
今回発生した事象の概要#
まずは今回発生したエラーの概要について説明します。
Unity上でビルドを行い、生成されたリリースビルド(aabファイル)をGoogle Developer Consoleにアップロードしリリースをしました。
その後、Google Developer Consoleのダッシュボードを確認すると、SDK issuesというエラーが表示されていることを確認しました。
Fragment outdated エラーの根本原因#
どうやらリリースビルドに含まれるandroidx.fragmentのSDKのバージョンが非推奨となっているようでした。
この状態では脆弱性があるアプリとみなされ、リリースビルドを更新してもGoogle playからレビューされない(つまり、アプリの更新ができない)状態であることがわかりました。
Fragment outdated エラーの解消方法#
本問題を解消するためには、androidx.fragment SDKのバージョンをアップデートする必要があります。
まずは、Unity->File->Build Settingsを開きましょう。
そのまま画面左下にあるPlayer Settingsを開きます。
そして、少し下にスクロールしBuildの項目内のCustom Main Gradle Templateという項目にチェックを入れます。
チェックを入れることで、プロジェクトフォルダ内Assets->Plugins->Androidフォルダ配下にmainTemplate.gradleファイルが生成されます。
(自分の場合はすでにチェックを入れてmainTemplate.gradleファイルが存在していたので、一度ファイルを手動で削除してチェックを入れて再生成しました。)
その後、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からのエラーアラートも消えることを確認しています。