【Unity】AdMobアップデート後のAndroidビルドでつまづいた話

AdMobアップデート後のAndroidビルドでつまづいた話

 

UnityのAdMobをアップデート後、Androidビルドでつまづくようになりました。

エラー内容は以下のような感じです。

 

ダイアログ

Build failure
java.lang.UnsupportedOperationException: This feature requires ASM7 See the Console for details.

コンソール
  • Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
  • CommandInvokationFailure: Gradle build failed.
  • Build completed with a result of 'Failed' in 61 seconds (61179 ms)
  • UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors

 

経緯

Androidアプリリリース時に以下のような文言が出ました。

Google Play Console の申告には、アプリで広告 ID を使用することが記載されていますが、マニフェスト ファイルに com.google.android.gms.permission.AD_ID 権限....

 

Android13以降から広告IDを使用するために権限の宣言が必要なり、その権限がないため、広告収益が発生しなくなってしまう恐れがありますよ、との注意喚起のようです。
調べてみると、AdMobを使用している場合には、デフォルトでcom.google.android.gms.permission.AD_IDは宣言されているとのことでしたが、Admobを使用しているにも関わらず、宣言されていなかったため、AdMobのアップデートをすることになったが、アップデート後からビルドがうまくいかなくなってしまう。

解決法

ビルド時に使用されているGradleのバージョンが悪かったようです。

自身の環境に合いそうなGradleをインストールし、それを使用するよう設定します。

 

私は、Macでの設定方法を記載しますが、Windowsで対応する場合は、参考サイト様の記事(下の方に記載してあります)を読まれると良いと思います。

(Unityのパスが若干違うだけで、内容に大差はありません。)

 

Gradleの公式ページより、合いそうなバージョンのGradleをダウンロードします。

※ 私は、AdMob7.2に対し、Gradle6.9.3を取得しました。

 

解凍したGradleファイルを以下の場所に配置します。

2021.3.11f1はエディターバージョンのため、自身の環境に置き換えてください。

/Applications/Unity/Hub/Editor/2021.3.11f1/PlaybackEngines/AndroidPlayer/Tools/gradle/

 

 

次にUnityを開いて、使用するGradleを変更します。

上部メニューより、Unity > Preferencesを選択し、External Toolsを開きます。

上記画像の赤枠内、「Gradle Installed with Unity (recommended)」と記載されている部分のチェックを外し、先ほど配置したGradleのパスを入力します。

これで、ビルド時に使用されるGradleが別バージョンに切り替わりました。

バージョンに問題がなければ、Androidビルドができるようになっているはずです。

 

参考サイト様

 

【Unity】Unity2020で最初からAndroidのGradleビルドが上手くいかない

 

追記

使用するGradleを変更しても、エラーが再発することがありました。

その際には、元のGradle(チェックを入れたデフォルトの状態)を使用するよう変更すると、ビルドすることができるため、ビルドタイミングにより交互に入れ替えている状態です。

 

今回の対応では、根本的な解決になっていない感じがします。

ひとまず正常にビルドでき、動作しているため、問題はありませんが、なんだかモヤモヤしますね。

コメント一覧
  1. わけん より:

    同じ現象で悩んでいたので助かりました!
    しかし、同じように再発し、gradleの部分のチェックを交互に入れ替えながらビルドしています。
    全く理解できません(;_;)

  2. 通りすがり より:

    Unityを勉強し始めた初心者ですが、AdMobのパッケージインストール後に実機ビルドができなくなって大変困っておりました。この記事の通りに手探りでgradleを変更したら見事に解決しました!大変有益な情報を記事にしていただきありがとうございますm(_ _)m

  3. ZUKI より:

    まじで助かりました!
    ありがとうございます、これで公開までいけそうです!

  4. rarafy より:

    参考資料飛ばして頂きありがとうございます!

CAPTCHA