3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AppLovin Max SDK for Unity をAndroidでビルドエラーの解決(2022/7/22追記)

Last updated at Posted at 2021-07-14

AppLovinのサンプルをビルドできないという問題が出たので、それの対処法をメモしておく。
以下のバージョンで試した。

  • Unity 2021.1.6f1
  • Applovin Max SDK 4.3.1

とりあえず手順通り進めてみる

UnityでApplovin Max SDK を導入する際にビルドエラーが出る問題を解決する。

とりあえず自分の環境のまっさらな状態でちゃんとサンプルプロジェクトが動くことを確認する。

以下のプロジェクトをダウンロードして適当な場所に展開

しょっぱなから以下のエラーが出るので、

Deterministic compilation failed. You can disable Deterministic builds in Player Settings
Library\PackageCache\com.unity.multiplayer-hlapi@1.0.4\Editor\Tools\Weaver\AssemblyInfo.cs(22,28): error CS8357: The specified version string contains wildcards, which are not compatible with determinism. Either remove wildcards from the version string, or disable determinism for this compilation

Packages/manifest.json の以下の文を削除して保存

"com.unity.multiplayer-hlapi": "1.0.4",

以下の作業を行い、とりあえずビルドしてみる

  1. AppLovin -> Integration Managerを立ち上げて、AppLovin SDK Key を入力
  2. HomeScreen.cs の「MaxSdkKey」の「"ENTER_MAX_SDK_KEY_HERE"」も AppLovin SDK Key に書き換える
  3. Builds SettingsでAndroidにSwitch Platform
  4. Buildする

問題発生

すると、以下のエラーが出る。

Gradle build failed. See the Console for details.

2021-07-14_18h02_02.png

もしくはビルドできても、起動してすぐに強制終了してしまう。

というわけで、ここからが本題。

これ以降は要注意だが、あくまでも対処療法なので、これをすれば必ず治るわけでもないし、乱暴なやり方なのでプロジェクトを壊す恐れがある。以下は__必ず自分のプロジェクトではやらずに、サンプルプロジェクトで行うこと__。もしくは、__自分のプロジェクトでやる場合はGitなどでちゃんと元に戻せる状態で始めること__を注意されたし。

対処法

1. 最新版のApplovin Max SDK for Unityをインストールする

以下のサイトで配布している、最新版を改めてインストールする

(ちなみに、この時点で再度ビルドしてもやはり同様にビルドエラーが出る)

2. Force Resolveをする

メニューから Assets > External Dependency Manager > Android Resolver > Force Resolve をして強制的に解決する。

2021-07-14_19h21_09.png

すると、Plugins/Android/ に大量のファイルができる。

これでうまくいくだろうと思うが、ビルドしてもやはりエラーが出る。

3. Plugins/Android/ の中身を消す

最初からある「AndroidManifest.xml」「res/」以外の 2でできたものをいったん削除する。ただし、あくまでも2でできたものに限るので、余計なものを消さないように気を付ける。

4. もう一回Force Resolveをする

2でやった「Force Resolve」をもう一度する。するとやはりPlugins/Android/ に大量のファイルができる。

再度ビルドしてみると、今度はうまくいくはず。

結局どういうこと?

結果から考えると、

  • Plugins/Android以下にAndroid用の関連ファイルがないとビルドできない
  • そのためには Force Resolve をする必要がある
  • しかし、そこにバージョンが古い関連ファイルが残ってしまうとNG
  • つまり一回まっさらな状態にしてから Force Resolve すると最新版の関連ファイルだけになる

ということだと考えられる。

それでもビルドできないときの対処法 (2021/7/16 追記)

  • まずUnityをいったん落として、再度立ち上げてからビルドしてみるとうまくいくケースがある
    • おそらくTempフォルダに変な情報が残っているためだと考えられる
      • Unityを落とすとTempフォルダが削除されるので、それでうまくいくのではないか?
  • それでもうまくいかないときは、上でやったPlugins/Androidのプラグインを一掃して、Force Resolve する
    • これでたいていうまくいく
      • それでもうまくいかないときは、引き金となったネットワークのSDKを一回削除して、もう一回ビルドから始める
  • AppLovin Integration Manager で「Install」するだけでよい
    • それぞれのサイトからSDKをDLする必要はない
      • 余計なものも入るので

それでもなおビルドできないときの対処法 (2022/7/22追記)

AdMobを入れたときどうにもこうにもエラーが出て進めなかった。

  1. いったんUnityを落とす
  2. Libraryフォルダを消す
  3. Unityを起動する(プラットフォームはリセットされているのでちゃんとiOS/Androidに再設定すること)
  4. ビルドする

実際にこれでうまくいった。たまにこの症状が出たときはもう一回消すしかなさそう。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?