UnityでAdMobを設定するときのエラーと解決法:Android
Contents
UnityにAndroidでAdMobを設定するときに、発生したエラーとその取り方をご説明します。
発生したエラーは以下です。
- WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 34
WARNINGですが、回避できないので、実質エラーです。
国内・海外の記事を漁って、色々と試して難儀しました。
本記事は忘備録ですが、誰かの参考になれば幸いです。
エラー内容
UnityにAndroidでAdMobを入れると、以下のWARNINGと他の2個の、合計3個のエラーが発生します。
- WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 34
エラーには対処法が書いてあります。
- This warning can be suppressed by adding android.suppressUnsupportedCompileSdk=34 to this project’s gradle.properties
- The build will continue, but you are strongly encouraged to update your project to use a newer Android Gradle Plugin that has been tested with compileSdk = 34
訳すと、
- この警告は、このプロジェクトの gradle.properties へ、android.suppressUnsupportedCompileSdk=34を、追加することで抑制できます。
- ビルドは続行されますが、プロジェクトを次のように更新することを強くお勧めします。
— compileSdk = 34 でテストされた新しい Android Gradle プラグインを使用する —
やる事
どうやら、以下をインストールすればいいようです。
- compileSdk = 34 でテストされた新しい Android Gradle プラグイン
解決法
開発環境
- Unity Hub 3.10.0 ← 最新版に更新
- Unity 2022.3.37f1
- GoogleMobileAds-v9.3.0.unitypackage ← 最新版
前提条件
UnityのAndroidアプリにAdMobを入れる際の、標準的な作業は作業済みとします。
その上で、ビルドしてエラーが出ている状態がスタートです。
- AdMobの設定作業は済んでいる
やった事
コマンドプロンプトからインストールコマンドを実行したり、各種設定をいじったりと、色々と試行錯誤しました。
結果、上手くいったときに参考にした記事を、参考に挙げましたので、ご参照ください。
- 参考記事を参照のこと
以下、やったことを列挙します。詳細は後で記述します。
これらの内、どれかをやればエラーが取れると思います。
- Enable Android Auto-resolution?の問いかけに、Enableを選択
- デフォルトパッケージ名をオーバーライト:▢ ← チェックを外す
- 最新APIを自動インストール
- Android ResolverでResolve
Enable Android Auto-resolution?
作業していると何処かのタイミングで、「Enable Android Auto-resolution?」と聞いてきますので、「Enable」ボタンをクリックしてください。
デフォルトパッケージ名をオーバーライト
- 「ファイル」-「ビルド設定」-「プレイヤー設定」-「プレイヤー」-「その他の設定」-「識別」
- 「識別」にある、「デフォルトパッケージ名をオーバーライド」のチェック(▢)を外す
㊟「ビルド設定」で「プラットフォーム」は、Androidが選択されていること
最新APIを自動インストール
自動インストールができなくて苦労しました。以下の神記事で無事自動インストールできました。
やりたい事
- 最低APIレベル:Android 5.1 ‘Lollipop’ (API Level 22)
- ターゲットAPIレベル:API level 34
ただ、この状態でビルドすると、自動インストールは動きません → 結果、エラーになる
- 自動インストールが動かない!
自動インストールを動かす
最低APIレベルを最新版に設定します。つられて、ターゲットAPIレベルも最新版になります。
- 最低APIレベル:API level 35 ← 最新版(2024.11.12時点での)
- ターゲットAPIレベル:API level 35
この状態でビルドすると、自動インストールが動くので、指示に従いインストールを完了させる。
- 自動インストールが動く!
設定を元に戻す
自動インストールが完了したので、設定を元に戻します。
- 最低APIレベル:Android 5.1 ‘Lollipop’ (API Level 22)
- ターゲットAPIレベル:API level 34
この状態でビルドすると、エラーが取れて、無事ビルドできます。
- 無事にビルドできる!
Android ResolverでResolve
- 「アセット」-「External Dependency Manager」-「Android Resolver」-「Resolve」
- 上記「Resolve」を選択
参考
- Qiita:Unity 2022 Androidビルドでエラーへの対処(AndroidSDK)
- 【解決】UnityでAndroidビルドするときにWe recommend using a newer Android Gradle plugin to use compileSdk = xxが出る問題
- Unity の SDK, NDK アップデート(Unity Hub と Android Studio による更新)
- 【Unity】Google Mobile Ads v8.6.0→v9.1.0に上げた備忘録 AdMob